IP number looking for PSI - need help with a sql solution better and faster

Hello

I have a table (one) with more 1 000 000 IP addresses and numbers (the digital equivalent of the IP address)

I have a second table (b) which contains a mapping between the ranges of the ISP and IP. The table looks like this and more contains 150 000 entries:

BEGIN_IP_RANGE END_IP_RANGE ISP_NAME

--------------------------   ----------------------   --------------

600000000 700000000 ISP_X

800000000 900000000 ISP_Y

I'm creating a third table (c) which connects (a) IP numbers to identify the ISP from (B). The query looks like this:

CREATE TABLE c

AS

Select a.IP_ADDRESS

b.ISP_NAME

IP_NUMBERS a, ISP_LOOKUP b lkp

where a.IP_NUMBER between b.BEGIN_IP_RANGE and b.END_IP_RANGE

;

There is no key join between the 2 tables and so I use TO search for the access provider. The performace of it's terrible and table (c) takes several hours to create.

Does anyone have any thoughts/ideas/suggestions on how this research can be achieved by using a solution better and faster?

Thank you very much

Shah

The performace of it's terrible and table (c) takes several hours to create.

Hours what do you say?

See if the following can help.

Cardinalities are similar to yours. The ETG takes 7sec. :

SQL> create table ip_numbers (ip_address, ip_number) as
  2  select cast(to_char(level,'fm099G999G999G999', 'nls_numeric_characters=,.') as varchar2(15))
  3       , level
  4  from dual
  5  connect by level <= 1000000 ;

Table created.

SQL> select * from ip_numbers where rownum <= 10;

IP_ADDRESS       IP_NUMBER
--------------- ----------
000.000.000.001          1
000.000.000.002          2
000.000.000.003          3
000.000.000.004          4
000.000.000.005          5
000.000.000.006          6
000.000.000.007          7
000.000.000.008          8
000.000.000.009          9
000.000.000.010         10

10 rows selected.

SQL>
SQL> create table isp_lookup (begin_ip_range, end_ip_range, isp_name) as
  2  select 1 + (level-1)*5
  3       , level*5
  4       , cast('ISP_'||to_char(level,'fm099999') as varchar2(10))
  5  from dual
  6  connect by level <= 200000 ;

Table created.

SQL> select * from isp_lookup where rownum <= 10;

BEGIN_IP_RANGE END_IP_RANGE ISP_NAME
-------------- ------------ ----------
             1            5 ISP_000001
             6           10 ISP_000002
            11           15 ISP_000003
            16           20 ISP_000004
            21           25 ISP_000005
            26           30 ISP_000006
            31           35 ISP_000007
            36           40 ISP_000008
            41           45 ISP_000009
            46           50 ISP_000010

10 rows selected.

SQL> create index ip_address_number_ix on ip_numbers (ip_number);

Index created.

SQL> set timing on
SQL>
SQL> create table ip_mappings as
  2  select /*+ use_nl(a b) */
  3         a.ip_address
  4       , b.isp_name
  5  from isp_lookup b
  6       join ip_numbers a on a.ip_number between b.begin_ip_range
  7                                            and b.end_ip_range
  8  ;

Table created.

Elapsed: 00:00:06.94
SQL> select count(*) from ip_mappings;

  COUNT(*)
----------
   1000000

Elapsed: 00:00:01.22

Tags: Database

Similar Questions

  • Need help with a SQL query

    Hello

    I have a data in table (raj_table) with columns (char11) raj_id, raj_number (varchar2 (15)), raj_format (NUMBER), Primary_ID (identity with the values of the primary key column)

    Primary_ID raj_id Raj_number Raj_format

    1                            raj                 rajvend                      1

    2                            raj                 rajvend                      1

    3                            raj                 rajvendor1                 2

    4                            raj                 rajvendor1                 2

    5                            raj                 rajvendor1                 2

    6                            raj                 rajvendor2                 3

    I used under SQL to get query output as below, but has not achieved the required result:

    Select client_id vendor_number, vendor_format, primary_id, row_number() on sl_no (client_id partition, primary_id, vendor_format order of client_id primary_id, vendor_format, vendor_number, vendor_number)

    from raj_table by sl_no asc

    SL_NO raj_id raj_number raj_format primary_id

    1                   1                   raj              rajvendor                 1

    1                   2                  raj              rajvendor                 1

    2                   3                   raj              rajvendor1                2

    2                   4                   raj              rajvendor1                2

    2                   5                  raj               rajvendor1                2

    3                   6                    raj              rajvendor2                3

    I need help with a SQL query to get the result as above without using the group by clause. I want to bring together the combination of separate line of the three columns (raj_id, raj_number, raj_format) and add a unique serial number for each online game (SL_NO column below). So, above there are 3 unique set of (raj_id, raj_number, raj_format) I can get in a group by clause, but I can not add prmiary_id, SL_NO values if I group by clause. I used the analytical functions like row_number() but no luck. Need solution for this.

    with t as)

    Select 'raj' raj_id, 'rajvend' raj_number, 1 raj_format, 1 primary_id Union double all the

    Select option 2, 'raj', 'rajvend', 1 double Union all

    Select 3, 'raj', 'rajvendor1', 2 double Union all

    Select 4, 'raj', 'rajvendor1', 2 double Union all

    Select 5, 'raj', 'rajvendor1', 2 double Union all

    Select 6, 'raj', 'rajvendor2', 3 double

    )

    Select dense_rank() over (order of raj_id, raj_number, raj_format) sl_no,

    t.*

    t

    order by primary_id

    /

    PRIMARY_ID RAJ RAJ_NUMBER RAJ_FORMAT SL_NO
    ---------- ---------- --- ---------- ----------
    1 1 raj rajvend 1
    1 2 raj rajvend 1
    2 3 raj rajvendor1 2
    2 4 raj rajvendor1 2
    2 5 raj rajvendor1 2
    3 6 raj rajvendor2 3

    6 selected lines.

    SQL >

    SY.

  • Need help with query SQL Inline views + Group

    Hello gurus,

    I would really appreciate your time and effort on this application. I have the following data set.

    Reference_No---Check_Number---Check_Date---description---Invoice_Number---Invoice_Type---Paid_Amount---Vendor_Number
    1234567 11223 - 05/07/2008 -paid for cleaning- 44345563-I-* 20.00 *---19
    1234567 11223 - 05/07/2008 - 44345563 -a--10,00---19 ofbad quality adjustment
    7654321 11223 - 05/07/2008 - setting the last billing cycle - 23543556 - A - 50.00 - 19
    4653456 11223 - 05/07/2008 - paid for cleaning - 35654765 - I - 30, 00-19

    Please ignore '-' added for clarity

    I'm writing a paid_amount based on Reference_No, Check_Number, Payment_Date, Invoice_Number, aggregate query Invoice_Type, Vendor_Number and display description with Invoice_type 'I' when there are multiple records with the same Reference_No, Check_Number, Payment_Date, Invoice_Type, Invoice_Number, Vendor_Number. When there are no more records I want to display the respective Description.

    The query should return the following data set

    Reference_No---Check_Number---Check_Date---description---Invoice_Number---Invoice_Type---Paid_Amount---Vendor_Number
    1234567 11223 - 05/07/2008 -paid for cleaning- 44345563-I-* 10.00 *---19
    7654321 11223 - 05/07/2008 - setting the last billing cycle - 23543556 - A - 50.00 - 19
    4653456 11223 - 05/07/2008 - paid for cleaning - 35654765 - I - 30, 00-19
    Here's my query. I'm a little lost.

    Select b., A.sequence_id, A.check_date, A.check_number, A.invoice_number, A.amount, A.vendor_number
    de)
    Select sequence_id, check_number, check_date, invoice_number, sum (paid_amount) sum, vendor_number
    of the INVOICE
    Sequence_id group check_date, check_number, invoice_number, vendor_number
    ) A, B OF INVOICE
    where A.sequence_id = B.sequence_id


    Thank you
    Nick

    It seems that this is a duplicate thread - correct me if I am wrong in this case->

    Need help with query SQL Inline views + Group

    Kind regards.

    LOULOU.

  • Need help with PL/SQL query complex

    I need help with a query that need access to data from 3 tables. That's what I did

    I created 3 tables

    CREATE TABLE post_table
    (
    post_id varchar (20),
    datepost DATE,
    KEY (post_id) elementary SCHOOL
    ) ;

    CREATE TABLE topic
    (
    TOPIC_ID varchar (20),
    name varchar (20),
    PRIMARY KEY (topic_id)
    );

    CREATE TABLE blogpost_table
    (
    TOPIC_ID varchar (20),
    post_id varchar (20),
    PRIMARY KEY (topic_id, post_id);
    FOREIGN KEY (topic_id) REFERENCES topic (topic_id) ON DELETE CASCADE,
    FOREIGN KEY (post_id) REFERENCES post_table (post_id) ON DELETE CASCADE
    );


    Now, I inserted a few values in these tables as

    INSERT INTO post_table VALUES ('p1', to_date ('2009-09-14 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p2', to_date ('2009-07-18 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p3', to_date ('2009-07-11 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p4', to_date ('2009-03-11 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p5', to_date ('2009-07-13 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p6', to_date ('2009-06-12 18:00 "," MM/DD/YYYY mi:ss'));))
    INSERT INTO post_table VALUES ('p7', to_date ('2009-07-11 18:00 "," MM/DD/YYYY mi:ss'));))

    INSERT INTO VALUES subject ("t1", "baseball");
    INSERT INTO category VALUES ('t2', 'football');

    INSERT INTO blogpost_table VALUES ("t1", "p1");
    INSERT INTO blogpost_table VALUES ('t1', 'p3');
    INSERT INTO blogpost_table VALUES ("t1", "p4");
    INSERT INTO blogpost_table VALUES ('t1', 'p5');
    INSERT INTO blogpost_table VALUES ('t2', 'p2');
    INSERT INTO blogpost_table VALUES ('t2', 'p6');
    INSERT INTO blogpost_table VALUES ("t2", "p7");


    I'm launching SQL queries on the table in this topic.

    I want to write a SQL query that returns me the name of a topic (s) and the number of blog_post (s) associated with the topic in descending order of the number of blog posts created in July.

    Can someone please help me to write this query?

    Thank you

    Published by: user11994430 on October 9, 2009 07:24

    Thanks for the test of the configuration!

    SQL>SELECT   t.NAME, COUNT(*)
      2      FROM topic t, blogpost_table b, post_table p
      3     WHERE b.topic_id = t.topic_id
      4       AND p.post_id = b.post_id
      5       AND p.datepost >= DATE '2009-07-01'
      6       AND p.datepost < DATE '2009-08-01'
      7  GROUP BY t.NAME
      8  ORDER BY COUNT(*) desc;
    
    NAME                   COUNT(*)
    -------------------- ----------
    baseball                      2
    soccer                        2
    

    HTH, Urs

  • Need help with Sprite´s. (Rectangles and circle)

    Hello!

    I kinda need help with a project. I m supposed to do a script that responds to a click and moves the circle of one rectangle to another.

    (Here's a picture)

    howtosprite.JPG

    So, what I want is: when I click on the blue rectangle to the right, the circle must move instantly in the rectangle on the right. And same thing on the opposite path.

    Thanks in advance!

    -Best regards,.

    Aleksandar "Dyxir" B.

    import flash.events.MouseEvent;

    leftRec.addEventListener (MouseEvent.CLICK, fCircle);
    rightRec.addEventListener (MouseEvent.CLICK, fCircle);

    function fCircle(evt:MouseEvent)
    {
    Circle.x = evt.currentTarget.x;
    Circle.y = evt.currentTarget.y;
    }

    Note: Point for all alignment: Center

  • Need help with my Toshiba remote control and receiver for Qosmio G30 161

    Hi all

    I have a Toshiba Qosmio G30-161 and with her, I have a Toshiba remote and a Toshiba remote control receiver, this is the first time that I used it (tried of that is), my problem is that the remote control does not work on the computer, when I press keys on the computer program does nothing.

    I installed four new AA batteries and the remote works fine its send signals to the receiver, the receiver of the remote control as a red light detection is displayed whenever you press a button and with regard to the computer, I checked the drivers and the USB is off the hook as a remote E-reception receiver which I checked with Toshiba and which is correct , so overall the remote control works, the receiver is picking up signals and the pc has detected the receiver but nothing works, I have installed remote control manager but was still nothing done to. I talked about support and assistance of Toshiba, and the end result is that they are not sure what is the problem. Can anyone help I need the remote control for the slide shows for clients like ja? m a photographer.

    Also to confirm that I'm under addition of Windows XP MCE.

    Anthony Worlock

    Hello

    This remote will work, if you use it without any special drivers and special software, only in the Media Center.

    But if you install stuff like [WinLirc | winlirc.sourceforge .net] then you should be able to get some functions for your presentation.

    Please try this tool and check if it works.

    By the way: if I were you I would first read the manual and the WinLirc FAQ before you start because it s a little bit tricky to manage the program. :) (Too many parameters: D)

    Welcome them

  • Need help with Oracle SQL merge records according to date and term dates

    Hi all

    I need help to find this little challenge.

    I have groups and flags and effective dashboards and dates of term against these indicators according to the following example:

    GroupName Flag_A Flag_B Eff_date Term_date
    Group_ATHERETHERE2011010199991231
    Group_ANN2010010120101231
    Group_ANN2009010120091231
    Group_ANN2006010120081231
    Group_ANTHERE2004010120051231
    Group_ATHERETHERE2003010120031231
    Group_BNTHERE2004010199991231
    Group_BNTHERE2003010120031231

    As you can see, group_A had the same combination of (N, N) flag for three successive periods. I want to merge all the time periods with the same indicators in one. Where entry into force will be the most early (underlined) time period and end date will be later (underlined)

    So the final result should look like this:

    GroupName Flag_A Flag_B Eff_date Term_date
    Group_ATHERETHERE2011010199991231
    Group_ANN2006010120101231
    Group_ANTHERE2004010120051231
    Group_ATHERETHERE2003010120031231
    Group_BNTHERE2003010199991231

    Thanks for your help

    Here's the DDL script

    drop table TMP_group_test;

    create table TMP_group_test (groupname varchar2 (8))

    , flag_a varchar2 (1)

    , flag_b varchar2 (1)

    , eff_date varchar2 (8)

    , term_date varchar2 (8)

    );

    insert into TMP_group_test values ('Group_A', 'Y', 'Y', ' 20110101 ', ' 99991231');

    insert into TMP_group_test values ('Group_A', 'n', ' n ', ' 20100101 ', ' 20101231');

    insert into TMP_group_test values ('Group_A', 'n', ' n ', ' 20090101 ', ' 20091231');

    insert into TMP_group_test values ('Group_A', 'n', ' n ', ' 20060101 ', ' 20081231');

    insert into TMP_group_test values ('Group_A', 'n', 'Y', ' 20040101 ', ' 20051231');

    insert into TMP_group_test values ('Group_A', 'Y', 'Y', ' 20030101 ', ' 20031231');

    insert into TMP_group_test values ('Group_B', 'n', 'Y', ' 20040101 ', ' 99991231');

    insert into TMP_group_test values ('Group_B', 'n', 'Y', ' 20030101 ', ' 20031231');

    commit;

    Post edited by: user13040446

    It is the closest, I went to the solution


    I create two rows;

    Rnk1: partition by group name, order of eff_date / / desc: this grade will sort the records of the most recent and handed to zero for each group\

    Rnk2: (dense) partition by group name, flag_A, flagb: this grade for each combination of group\flag gives a number so that they are classified as "families".

    Then I use the function analytic min

    Min (eff_date) more (partition of GroupName, rnk2): the idea is that, for each Member of the same family, the new date is the min of the family (and the max for the date of the term), at the end I just need separate so that the duplicates are gone

    Now the problem. As you can see from the query below, records of 1 and 6 (as identified by rownum) are identified in the same family, because they have the same combination of flag, but they are not successive, so everyone must keep its own date of entry into force.

    If only I can make the distinction between these two that would solve my problem


    Query:


    Select rowNum,GroupName, flag_a, flag_b, eff_date, term_date, rnk1, rnk2

    , min (eff_date) more than (partition by GroupName rnk2( ) min_eff

    Of

    (

    Select rowNum,

    GroupName , flag_a , flag_b , eff_date , term_date

    rank() more than (partition by GroupName stopped by eff_date desc) rnk1

    DENSE_RANK() more than (partition by GroupName order by flag_A flag_B ( ) rnk2

    de dsreports . tmp_group_test

    ) order by rowNum

    Hello

    user13040446 wrote:

    Hi KSI.

    Thanks for your comments, you were able to distinguish between these lines highlight, but lost lines 2,3,4 which are supposed to have the same date min = 20060101.

    Please see the table wanted to see the final result I want to reach

    Thanks again

    This first answer is basically correct, but in the main query, you want to use the function MIN, not the analytical function aggregation and GROUP BY columns with common values, like this:

    WITH got_output_group AS

    (

    SELECT GroupName, flag_a, flag_b, eff_date, term_date

    ROW_NUMBER () OVER (PARTITION BY GroupName

    ORDER BY eff_date

    )

    -ROW_NUMBER () OVER (PARTITION BY GroupName, flag_a, flag_b)

    ORDER BY eff_date

    ) AS output_group

    OF tmp_group_test

    )

    SELECT GroupName, flag_a, flag_b

    MIN (eff_date) AS eff_date

    MAX (term_date) AS term_date

    OF got_output_group

    GROUP BY GroupName, flag_a, flag_b

    output_group

    ORDER BY GroupName

    eff_date DESC

    ;

    The result I get is

    GROUP_NA F F EFF_DATE TERM_DAT

    -------- - - -------- --------

    Group_A Y 20110101 99991231 Y

    N Group_A 20101231 20060101 N

    Group_A N 20051231 20040101 Y

    Group_A Y Y 20031231-20030101

    Group_B N Y 99991231 20030101

    which is what you asked for.

  • Need help with PL/SQL so and then select

    Hello guys, I am new to the PL/SQl programming (only Java experience) and I'm pretty stuck to my task. It would be great if you could help me. I am in programming with Oracle SQL * Plus Version 10.2.0.3.0

    Whenever a user logs on to the server a database entry is created with information about the logged-on user. I need to create a PL/SQL command that selects all the information from last month. Unfortunately, the date_stamp column has a certain weird format: 1131210 for December 10, 2013


    My idea so far:


    DECLARE

    v_today NUMBER;

    BEGIN

    v_today: = TO_NUMBER (TO_CHAR (SYSDATE, 'MM'));       -Save the number of the month (e.g.12) in v_today

    IF v_today = 01 THEN

    SELECT * from audittrl

    WHERE the date_stamp between 1131201 AND the 1131231;

    ELSIF v_today = 02 THEN

    SELECT * from audittrl

    WHERE the date_stamp between the 1130131 AND 1130101;

    .......

    END IF;

    END;

    /

    Error code: "an INTO clause in this SELECT statement.

    I do not want to save the result to select a variable, hope you can help me. Thanks in advance.

    Hello

    6a4d1bcd-c00e-4dac-AB64-9b6bdb1652d1 wrote:

    Thanks, I'll try that, if still get caught once, I'll be back. Anway I'm not sure of the solution of Chris227, because I can't test it right now. From my point of view it gives you information the current month (e.g., December) and not the month previous (-online November), or have I missed something. ?

    You are right.  In addition, it does not for a given year.  If you have data from several years in the table, it will select lines for the month of December 2012, 2011, 2010,... but also of 2013.

    Here's a way to get around that:

    DECLARE

    prev_month_start PLS_INTEGER: = TO_NUMBER (TO_CHAR (ADD_MONTHS (SYSDATE-1)

    , "YYMM"1' "01"

    )

    );

    this_month_start PLS_INTEGER: = TO_NUMBER (TO_CHAR (SYSDATE

    , "YYMM"1' "01"

    )

    );

    BEGIN
    FOR (IN) rec
    SELECT *.
    Of audittrl
    WHERE the date_stamp > = prev_month_start
    AND date_stamp< >
    ORDER BY user_id, date_stamp - or other

    )
    LOOP
    dbms_output.put_line (rec.date_stamp);
    dbms_output.put_line (rec.event);
    dbms_output.put_line (rec.user_id)
    dbms_output.put_line (rec.host_name);
    END LOOP;
    END;

    This should also be more effective, because it will allow the optimizer to use an index on date_stamp.  Even if there is no index, it will be more effective because it avoids calling any function (for example, SUBSTR) on each line of the table.

    You needn't PL/SQL to get these results.  Just use SQL, you might say:

    SELECT event, host_name, user_id and date_stamp
    Of audittrl
    WHERE the date_stamp > = TO_NUMBER (TO_CHAR (ADD_MONTHS (SYSDATE-1)
    , "YYMM"1' "01"
    )
    )
    AND date_stamp<  to_number="" (="" to_char="" (="" sysdate="" to_number="" (="" to_char="" (="">


    , "YYMM"1' "01"
    )
    )

    ORDER BY user_id, date_stamp - or other

    ;

    Your front end will provide column headers and touch the data so that the columns line up.  It can also set the output to a file.  (For example, if your front-end is SQL * Plus, you can use the command of the COIL.)

    I guess date_stamp is a NUMBER.  If it is a string, the solutions above can be simplified a bit.

    This problem (and many other problems) would be so much simpler if date_stamp was a DATE column.  Using numbers or strings to store the date information is simply asking for trouble.

  • Need help with the classes of structure and folders!

    Hello all :)
    I've been programming some time in Actionscript 3 now. But most of the time I did not so much major projects. So I just had 1 folder with the Fla and class and other classes for different objects. But yesterday, I discovered that I need some more when structuring projects is growing. So what I would like is to have the main file with fla and a file in this folder with the classes or something. But I can't understand it. Searched around the web and Yes tried many things. So now, I have discovered that I need help to solve this problem :)!
    Hope someon can help me with this one, it should be pretty easy, but I understand it now.

    Thanks to !

    You have assigned the MainAs as the file MainFLA.fla document class?

    You have an object in the library that is linked to the class 'Classes.Animal '?

    I would like to declare the variable of animal1 where you have one, but I would not instantiate until, within the service of MainAs.

    SerializableAttribute public class extends MovieClip {} MainAs

    public var animal1:Animal;

    public void MainAs() {}

    the constructor code

    animal1 = new Animal();

    addChild (animal1);

    }

    Is the code that show you for the placement of the Animal object a typo or do you really have it assign the property x twice?

  • Need help with parallax effect - Adobe MUSE and Safari

    Hey there,

    I need help.

    I did a parallax effect on my www.bloxmix.depage.

    Firefox, Opera and Chrome are working very well.

    Safari works worst.

    Try and see.

    Can someone help to solve my problem?

    Thank you community

    Hi Karl,

    Given that the site works fine at my end, I guess the problem is with your local browser. Could you please try it on another computer and see if it works fine here or not?

    - Abhishek Maurya

  • Need help with a SQL qurey that returns multiple lines for a record?

    I have the following query where I use a WHEN clause CASES to determine the date of a change that starts with 'FRLO' on day 1 - day14 of the pay period. It works fine if a folder schedule with a day that begins "FRLO", but if more than one day is "FRLO" then it only returns the first day he finds and not others. Is there a way to get the query to return a ron for every day 1-14 that begins "FRLO"? System if Oracle 11 G
    The order of the results is not important, because this is part of a larger query that orders the results.

    Thanks in advance for any help,
    George
    ---------------------------------------------------------------------------------------------------------------------------------
    SELECT s.empid,
    CASE
    A SUPERIOR TIME (SUBSTR (s.Day1, 0, 4)) = "FRLO".
    THEN
    pp.startpp
    A SUPERIOR TIME (SUBSTR (s.Day2, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 1
    A SUPERIOR TIME (SUBSTR (s.Day3, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 2
    A SUPERIOR TIME (SUBSTR (s.Day4, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 3
    A SUPERIOR TIME (SUBSTR (s.Day5, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 4
    A SUPERIOR TIME (SUBSTR (s.Day6, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 5
    A SUPERIOR TIME (SUBSTR (s.Day7, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 6
    A SUPERIOR TIME (SUBSTR (s.Day8, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 7
    A SUPERIOR TIME (SUBSTR (s.Day9, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 8
    A SUPERIOR TIME (SUBSTR (s.Day10, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 9
    A SUPERIOR TIME (SUBSTR (s.Day11, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 10
    A SUPERIOR TIME (SUBSTR (s.Day12, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 11
    A SUPERIOR TIME (SUBSTR (s.Day13, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 12
    A SUPERIOR TIME (SUBSTR (s.Day14, 0, 4)) = "FRLO".
    THEN
    pp.startpp + 13
    END
    StartDate,
    StartTime, NULL,
    Time NULL terminator,
    8 hours,
    0 minutes
    Time S
    JOIN THE
    payperiods pp
    ON pp.periodid = s.periodid
    WHERE SUPERIOR (SUBSTR (s.Day1, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day2, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day3, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day4, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day5, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day6, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day7, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day8, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day9, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day10, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day11, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day12, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day13, 0, 4)) = "FRLO".
    OR SUPERIOR (SUBSTR (s.Day14, 0, 4)) = "FRLO";

    ----------------------------------------------------------------------------------------------
    OUTPUT CURRENT
    EMPID STARTDATE, STARTTIME ENDTIME HOURS MINUTES
    753738, 25/03/2013, 8, 0
    753740, 25/03/2013, 8, 0
    753748, 25/03/2013, 8, 0

    DESIREE OUTPUT
    EMPID STARTDATE, STARTTIME ENDTIME HOURS MINUTES
    753738, 25/03/2013, 8, 0
    753740, 25/03/2013, 8, 0
    753748, 25/03/2013, 8, 0
    753738, 26/03/2013, 8, 0
    753740, 26/03/2013, 8, 0
    753740, 28/03/2013, 8, 0
    753748, on 01/01/2013, 8, 0
    753738, on 03/04/2013, 8, 0
    753748, on 03/04/2013, 8, 0

    -----------------------------------------------------------------------------------------------
    CREATE THE TABLE PROGRAMS
    (
    SCHEDULEID NUMBER (12) NOT NULL,
    EMPID NUMBER (12) NOT NULL,
    PERIODID VARCHAR2 (6 BYTE) NOT NULL,
    AREAID NUMBER (12) NOT NULL,
    DAY1 VARCHAR2 (50 BYTE),
    DAY 2 VARCHAR2 (50 BYTE).
    DAY 3 VARCHAR2 (50 BYTE).
    DAY4 VARCHAR2 (50 BYTE),
    DAY5 VARCHAR2 (50 BYTE),
    DAY6 VARCHAR2 (50 BYTE),
    DAY 7 VARCHAR2 (50 BYTE).
    JOUR8 VARCHAR2 (50 BYTE),
    DAY9 VARCHAR2 (50 BYTE),
    DAY10 VARCHAR2 (50 BYTE),
    DAY 11 VARCHAR2 (50 BYTE).
    DAY12 VARCHAR2 (50 BYTE),
    J13 VARCHAR2 (50 BYTE),
    DAY14 VARCHAR2 (50 BYTE),
    NOPTIND1 INTEGER DEFAULT 0,
    NOPTIND2 INTEGER DEFAULT 0,
    NOPTIND3 INTEGER DEFAULT 0,
    NOPTIND4 INTEGER DEFAULT 0,
    NOPTIND5 INTEGER DEFAULT 0,
    NOPTIND6 INTEGER DEFAULT 0,
    NOPTIND7 INTEGER DEFAULT 0,
    NOPTIND8 INTEGER DEFAULT 0,
    NOPTIND9 INTEGER DEFAULT 0,
    NOPTIND10 INTEGER DEFAULT 0,
    NOPTIND11 INTEGER DEFAULT 0,
    NOPTIND12 INTEGER DEFAULT 0,
    NOPTIND13 INTEGER DEFAULT 0,
    NOPTIND14 INTEGER DEFAULT 0
    );

    CREATE TABLE PAYPERIODS
    (
    PERIODID VARCHAR2 (6 BYTE) NOT NULL,
    DATE OF STARTPP,
    DATE OF ENDPP
    );

    Insert in CALENDARS
    (SCHEDULEID, EMPID, PERIODID, DAY1, AREAID
    DAY 2, DAY 3, DAY 4, DAY5 DAY6.
    DAY7 JOUR8, DAY9, DAY10, DAY 11,.
    J13, DAY14 DAY12, NOPTIND1, NOPTIND2,
    NOPTIND3, NOPTIND4, NOPTIND5, NOPTIND6, NOPTIND7,
    NOPTIND8, NOPTIND9, NOPTIND10, NOPTIND11, NOPTIND12,
    NOPTIND13, NOPTIND14)
    Values
    (3693744, 753738, '082013' 2167, 'X')
    "FRLO < 1530 > ', ' < 1530 FRLO > ', '1530', '1530', '1530',
    'X', 'X', '1530', '1530', 'FRLO ',.
    "1530', '1530', 'X', 0, 0,
    0, 0, 0, 0, 0,
    0, 0, 0, 0, 0,
    (0, 0);
    Insert in CALENDARS
    (SCHEDULEID, EMPID, PERIODID, DAY1, AREAID
    DAY 2, DAY 3, DAY 4, DAY5 DAY6.
    DAY7 JOUR8, DAY9, DAY10, DAY 11,.
    J13, DAY14 DAY12, NOPTIND1, NOPTIND2,
    NOPTIND3, NOPTIND4, NOPTIND5, NOPTIND6, NOPTIND7,
    NOPTIND8, NOPTIND9, NOPTIND10, NOPTIND11, NOPTIND12,
    NOPTIND13, NOPTIND14)
    Values
    (3693745, 753740, '082013' 2167, 'X')
    "FRLO < 1530 > ', ' < 1530 FRLO > ', '1530', 'FRLO', '1530',
    'X', 'X', '1530', '1530', ' 1530',
    "1530', '1530', 'X', 0, 0,
    0, 0, 0, 0, 0,
    0, 0, 0, 0, 0,
    (0, 0);
    Insert in CALENDARS
    (SCHEDULEID, EMPID, PERIODID, DAY1, AREAID
    DAY 2, DAY 3, DAY 4, DAY5 DAY6.
    DAY7 JOUR8, DAY9, DAY10, DAY 11,.
    J13, DAY14 DAY12, NOPTIND1, NOPTIND2,
    NOPTIND3, NOPTIND4, NOPTIND5, NOPTIND6, NOPTIND7,
    NOPTIND8, NOPTIND9, NOPTIND10, NOPTIND11, NOPTIND12,
    NOPTIND13, NOPTIND14)
    Values
    (3693746, 753748, '082013' 2167, 'X')
    "FRLO < 1530 > ', '1530', '1530', '1530', '1530',.
    'X', 'X', ' FRLO < 1530 > ', '1530', 'FRLO ',.
    "1530', '1530', 'X', 0, 0,
    0, 0, 0, 0, 0,
    0, 0, 0, 0, 0,
    (0, 0);

    COMMIT;

    Insert into PAYPERIODS
    (PERIODID, STARTPP)
    Values
    (TO_DATE '082013', (MARCH 24, 2013 00:00:00 "," MM/DD/YYYY HH24:MI:SS'));))
    COMMIT;

    Hello

    I think you want:

    SELECT
      s.empid,
      pp.startpp,
      startdate,
      NULL starttime,
      NULL endtime,
      8 hours,
      0 minutes
    FROM schedules s
    JOIN payperiods pp
    ON pp.periodid = s.periodid
    WHERE UPPER (SUBSTR (s.Day1, 0, 4)) = 'FRLO'
    
    UNION
    SELECT
      s.empid,
      pp.startpp + 1,
      startdate,
      NULL starttime,
      NULL endtime,
      8 hours,
      0 minutes
    FROM schedules s
    JOIN payperiods pp
    ON pp.periodid = s.periodid
    WHERE UPPER (SUBSTR (s.Day2, 0, 4)) = 'FRLO'
    
    --ETC.
    

    Kind regards

    Peter

  • looking for a little help with 'ownership' of a virtual machine

    Power surge through my apartment while he was working on a school project, (I know I know, im getting a smooth paste to the top soon!)

    Now the virtual machine I was working on the guard telling me that the virtual machine is already is use, which is not, asking if I want to take owenship and and use it anway. by clicking on confirm a get error message saying "cannot open the file 'I:\Virtual Machines\Windows 7\Windows 7.vmdk': insufficient permission to access file.»

    If anyone has a solution for this would be great!

    go to the directory of the virtual machine

    Delete all directories whose name .lck
    You can also find files whose name .lck - they must be removed as well

  • Need help with PL/SQL code

    Hi I am writing this code in pl/SQL:

    create or replace
    PROCEDURE 'TESTPRI '.
    (NUMBER pCYC_DT)
    AS
    vTGT_TABL VARCHAR2 (25);
    vSTG_TABL varchar2 (30);
    vsql varchar2 (200);
    BEGIN
    vTGT_TABL: = 'TESTTABL ';
    vSTG_TABL: = vTGT_TABL | » _'|| pCYC_DT;
    vsql: = 'TRUNCATE TABLE ' | vTGT_TABL;
    EXECUTE IMMEDIATE vsql;
    RUN IMMEDIATELY "INSERT" | vTGT_TABL | ' SELECT * FROM '. vSTG_TABL;
    COMMIT;
    -IMMEDIATE 'TRUNCATE TABLE ' | vSTG_TABL;
    END TESTPRI;

    When executing this procedure it gives me following error:
    ORA-03290: Invalid command truncate - lack of key word TABLE or CLUSTER
    ORA-06512: at "DBR. TESTPRI', line 11
    ORA-06512: at line 6

    But I think that the TRUNCATE TABLE statement is correct. Is there a problem with the variable?

    Any help would be appreciated.
    Thank you.

    vsql: = 'TRUNCATE TABLE ' | vTGT_TABL;

    You need space after the TABLE

    vsql:= 'TRUNCATE TABLE ' ||vTGT_TABL ; 
    

    EXECUTE IMMEDIATE vsql;
    RUN IMMEDIATELY "INSERT" | vTGT_TABL | ' SELECT * FROM '. vSTG_TABL;

    Sapce here after INTO, before SELECT and FROM

    EXECUTE IMMEDIATE 'INSERT INTO '|| vTGT_TABL||' SELECT * FROM '|| vSTG_TABL;
    
  • Need help with debugging collection in bulk and loop forall

    Hi people,

    I was wondering if someone can look at my PL/SQL code and tell me where I'm wrong.

    Environment
    =========
    10g (Rel 2)

    Algorithm of
    =======

    A slider lets collect records
    The data block
    Bulk insert the data into a table

    Implementation
    ==========

    Set serveroutput on;

    declare

    cursor source_cur is
    Select * from
    from t1;

    -Define the variables and collection types to be used by the BULK COLLECT clause

    source_data_type type is the table of the source_cur % rowtype;

    source_data_table source_data_type;

    Start

    Open source_cur;
    loop
    extraction source_cur
    bulk collect into source_data_table;

    When the output source_data_table.count = 0;

    -Now, we print the data collected
    -for i in source_data_table.first... source_data_table. Last
    -loop
    -dbms_output.put_line (' company name: ' | source_data_table (i).) Company);
    -dbms_output.put_line ('Count: ' | source_data_table.) (COUNT);
    -end loop;
    end loop;
    close source_cur;


    Note: The statements above Print print the correct data and County

    -Now, bulk insert us the data into the target table

    dbms_output.put_line ('Count: ' | source_data_table.) (COUNT);

    Note: The print statement above indicates a number 0 =. Since there is no available record, FORALL loop below will not insert anything in the table

    ForAll idx in source_data_table. FIRST... source_data_table. LAST
    Insert into T2
    source_data_table (idx) values;
    end;
    /


    Thanks in advance

    rogers42

    You'll want to do something like this

    open source_cur;
    loop
    fetch source_cur
    bulk collect into source_data_table;
    
    exit when source_data_table.count = 0;
    
    forall idx in source_data_table.FIRST .. source_data_table.LAST
    insert into T2
    values source_data_table(idx);
    end loop;
    close source_cur;
    

    or even better:

    insert into target
    select col, col, col
      from source
    

    no need to COLLECT in BULK and FORALL
    ;)

  • Need help with Windows Live Movie Maker and DVD Maker

    I have worked with Windows Live Movie Maker to cut a continuous piece of video footage into separate clips (these are dance performances by dancers of different about 13)... then once they were divided into 13 clips separated, I then cut them at the beginning and at the end of each clip (performance) and then used legends at the beginning of each clip with name of the dancer.  I also added a title at the beginning of the film page, and I added at the end of the credits.  Then I clicked on save the movie and had to wait an hour or more... Finally, when this was done, I opened Windows DVD Maker and clicked on add items... went to my file and put my film recorded in the creation of DVD.  I used also changed the Menu template to that for shows (it is red and black and has lights and cameras as a staging.  I thought everything was going along fine until I played the disc engraved on my Smart TV DVD player.  For some reason when I click on the stages (or chapters) to see the performance under this button, it starts to play the dvd in a few seconds or a few minutes in some cases in the performance... I've lost countless blank DVDs not to mention hours and hours of time... and I'm so frustrated... I'm ready to SCREEEAAMMM!  Also some of the performances were not even under one of the buttons or frames... in other words you could not use the arrow keys to locate some of them to click it and find out.  Yet, when I went back and pressed the 'Play' button, I could fast forward through the entire movie and find performances that seem to be missing the scenes/buttons.  Any help or advice before I blow a bridge! ???

    Thank you.

    /PR

    I have worked with Windows Live Movie Maker to cut a continuous piece of video footage into separate clips (these are dance performances by dancers of different about 13)... then once they were divided into 13 clips separated, I then cut them at the beginning and at the end of each clip (performance) and then used legends at the beginning of each clip with name of the dancer.  I also added a title at the beginning of the film page, and I added at the end of the credits.  Then I clicked on save the movie and had to wait an hour or more... Finally, when this was done, I opened Windows DVD Maker and clicked on add items... went to my file and put my film recorded in the creation of DVD.  I used also changed the Menu template to that for shows (it is red and black and has lights and cameras as a staging.  I thought everything was going along fine until I played the disc engraved on my Smart TV DVD player.  For some reason when I click on the stages (or chapters) to see the performance under this button, it starts to play the dvd in a few seconds or a few minutes in some cases in the performance... I've lost countless blank DVDs not to mention hours and hours of time... and I'm so frustrated... I'm ready to SCREEEAAMMM!  Also some of the performances were not even under one of the buttons or frames... in other words you could not use the arrow keys to locate some of them to click it and find out.  Yet, when I went back and pressed the 'Play' button, I could fast forward through the entire movie and find performances that seem to be missing the scenes/buttons.  Any help or advice before I blow a bridge! ???

    Thank you.

    /PR

    ===============================================
    First of all a question... did you you save the project in a video such as format
    . WMV or. MP4? Or have you just of WLMP project folder?

    I suspect that DVD Maker is to see your movie in one file
    and he has no idea where are your scenes. More than likely it is
    creation of scenes on his own in arbitrary places.

    In order for DVD Maker correctly, identify individual scenes
    each stage must be registered as an individual video clip, then
    the collection of video clips can be imported and each of them must
    become an individual scene.  DVD Maker is supposed to accept
    up to 18 scenes.

    Just an experience you can import your new original
    video clips in DVD Maker and see if it works properly. If
    It does what you want... change and re-record your clips one video
    both will be the fix.

    Good luck...

Maybe you are looking for

  • A chart of the wave axis cannot change automatic formatting

    See attached photo and vi. I can change the other two y-axis floating-point, but I can't change the "acceleration x, y, z" automatic formatting floating-point; whenever I click on floating point, the highlight goes to the automatic formatting. Now wh

  • Commune of Login credentials

    Hello We are becoming the computer company for a particular customer. Their previous I.T. company made the initial network settup, but configuration has not been done properly.They have XP Win7 workstation & ServerK3.No users have been created on the

  • VLAN in PC5548 - is required L3 switch?

    Hello fellow networkers, We have 4 PC s 5348 and several 54xx L2 switches used for desktop computers, printers, wireless APs, servers, etc. - without reflection or reason as to which is connected to a particular switch - has increased over time as ma

  • Come abbassarsi una vista?

    Ho aggiornato (by wrong) Adobe Reader e ora if ricomincia da zero. I like to solo abbassarsi di documento UN 90 °. Dopo mezz'ora di attempts ho capito che dovro'usare Pagaré 18 crossed al mese per farlo. UNA spent total. Ormai ho personal a ' ora del

  • Development of model Lightroom - error - Image looks like a negative

    When I open the develop module images look like a negative. I don't know what it would be.  Here is the image that is the best way to understand. I tried to uninstall and that has not changed anything.