Create table column position questions?

Hi all

I'm just confused the saying that the positioning of column in tables is not serious for the relational database?

Do you agree or disagree.

For me, I do not share. Why?
SQL>  create table a (a char(10),b number);

Table created.

SQL> create table b (b number, a char(10));

Table created.

SQL> insert into a values ('a',1);

1 row created.

SQL> commit;

Commit complete.

SQL> insert into b select * from a;
insert into b select * from a
                     *
ERROR at line 1:
ORA-01722: invalid number
If it isn't serious.

Thank you

KinsaKaUy? wrote:
OK maybe I interpreted in the wrong sense :))

Can you help with this problem.

I have an EMP table with more than 10,000 rows and 500 columns.

The developer was asked to edit a column ATTRIBUTE1 of VARCHAR2 (10) number;

It is said that the column must be empty to change the data type, so I created a backup:

CREATE TABLE EMP_BAK AS SELECT * FROM EMP;
TRUNCATE TABLE EMP;
ALTER TABLE EMP MODIFY (ATTRIBUTE1 NUMBER);

How can I insert it using the... INSERT INTO EMP SELECT * FROM EMP_BAK;

To aggraviate the situation the designer wants to move the position of the column in the 100th place in 10th place.
Assuming that you can't reason with out them, how to make this task easier?

Thank you

Rather than create a new table and your complications mentioned above, you can follow the Sub method I guess.

ALTER TABLE DUMMY_ATTRIBUTE1 ADD EMP NUMBER;

UPDATE EMP
ATTRIBUTE1 SET = DUMMY_ATTRIBUTE1
WHERE 1 = 1;

COMMIT;

UPDATE EMP
ATTRIBUTE1 SET = NULL
WHERE 1 = 1;

COMMIT;

ALTER TABLE EMP CHANGE ATTRIBUTE1 NUMBER;

UPDATE EMP
SET DUMMY_ATTRIBUTE1 = ATTRIBUTE1
WHERE 1 = 1;

COMMIT;

ALTER TABLE DROP COLUMN DUMMY_ATTRIBUTE1 EMP;

Tags: Database

Similar Questions

  • Computed in a Create table columns

    It's my create table statement:

    CREATE TABLE DTPartInv
    (partinv_partnbr VARCHAR2 (10) NOT NULL,)
    partinv_prodname VARCHAR2 (25).
    partinv_desc VARCHAR2 (25).
    partinv_manufact VARCHAR2 (25).
    partinv_instock INTEGER NOT NULL,
    partinv_category VARCHAR2 (20).
    partinv_purchdate DATE,
    partinv_loc VARCHAR2 (15).
    partinv_price NUMBER (6.2),
    partinv_vendor VARCHAR2 (20).
    partinv_reorder INTEGER NOT NULL,
    partinv_serial VARCHAR2 (20).
    partinv_flag as (case when partinv_instock < partinv_reorder then 'X' else 'o' end), calculated column
    CONSTRAINT DTPartInv_partinv_partnbr_pk
    PRIMARY KEY (partinv_partnbr)
    );

    and here's my Insert into table instructions:
    INSERT INTO DTPartInv VALUES ('XT40010E', 'TMC Inc', 2, Null, 'Exhaust' 'pipes', TO_DATE (11 April 10 ',' DD-MON-RR'), Null, 45.95, 'Oracle Auto Parts', 1, Null);
    INSERT INTO DTPartInv VALUES ('CH9260', Null, 'oil filter', 'Mechanical parts', 5, 'Fuild filters', TO_DATE (15 January 10 ',' DD-MON-RR'), Null, 20.00, "wells auto P", 2, Null);
    INSERT INTO DTPartInv VALUES ('15W40', Null, ' oil ',' sink the oil ', 20, 'Auto Fuilds', TO_DATE (February 10, 11 ',' DD-MON-RR'), Null, 10.00, "Oracle Auto Parts", 5, Null,);
    INSERT INTO DTPartInv VALUES ('C9262', Null, 'fuel filter', 'Mechanical parts', 2, 'Fuild filters', TO_DATE (October 20, 10 ',' DD-MON-RR'), Null, 35.95, 'sink Auto Parts', 1, Null);
    INSERT INTO DTPartInv VALUES ('PS7716', Null, ' Fuel/water separator', 'Parts', 4, 'Fuild filters', TO_DATE (December 9, 10 ',' DD-MON-RR'), Null, 50.00, 'sink Auto Parts', 1, Null);
    INSERT INTO DTPartInv VALUES ('800142', Null, 'Valve PPI', 'Beink pipes Inc.', 10, 'Valves', TO_DATE (June 1, 11 ',' DD-MON-RR'), Null, 20.00, 'Oracle Auto Parts', 2, Null);
    INSERT INTO DTPartInv VALUES ('TTS400', 'Clip Butt', Null, 'Beink pipes Inc.', 10, 'Valves', TO_DATE (October 31, 11 ',' DD-MON-RR'), Null, 15.95, 'Oracle Auto Parts', 2, Null);
    INSERT INTO DTPartInv VALUES ('TBA400', 'Clamp Lap', Null, 'Beink pipes Inc.', 10, 'Valves', TO_DATE (November 10, 11 ',' DD-MON-RR'), Null, 30.00, 'Oracle Auto Parts', 2, Null);
    INSERT INTO DTPartInv VALUES (Null, mechanical parts "Brake pads',"Mechanical CostVB", 5,", 'SC16650', TO_DATE (May 15, 11 ',' DD-MON-RR'), Null, 60.00, 'Adosql Auto Parts', 1, Null);
    INSERT INTO DTPartInv VALUES ('OB46613', Null, 'emergency door latch", 'Mechanical CostVB', 3, 'Mechanical parts', TO_DATE ('01 - sept.-11 ',' DD-MON-RR'), Null, 45.95, 'Adosql Auto Parts', 1, Null);

    And this is a sample of the error, I can test:
    INSERT INTO DTPartInv VALUES ('XT40010E', 'TMC Inc', 2, Null, 'Exhaust' 'pipes', TO_DATE (11 April 10 ',' DD-MON-RR'), Null, 45.95, 'Oracle Auto Parts', 1, Null)
    ERROR on line 1:
    ORA-00947: not enough values

    I need to understand what it is that I'm missing here. partinv_flag is supposed to be calculated according to partinv_instock and partinv_reorder.

    Hello

    Review the syntax for virtual columns in the manual of the SQL language:
    http://download.Oracle.com/docs/CD/E11882_01/server.112/e26088/statements_7002.htm#sthref5146

    You want something like this (showing only the relevant columns):

    CREATE TABLE DTPartInv
    (
         partinv_instock          INTEGER          NOT NULL
    ,     partinv_reorder          INTEGER          NOT NULL
    ,     partinv_flag           VARCHAR2 (1)      AS ( CASE
                                            WHEN  partinv_instock < partinv_reorder
                                           THEN 'X'
                                              ELSE 'O'
                                        END
                                     )
    );
    
    INSERT INTO DTPartInv (partinv_instock, partinv_reorder) VALUES (100, 100);
    

    Announcing the column names until the VALUES of Word key is a good idea in any case, and it is needed when you have virtual columns.

  • ORA-00904 on CREATE TABLE with a virtual column based on the XMLTYPE content

    Hello

    This is another one for the gurus of the syntax...

    Try the following, fails with ORA-00904: "MESSAGE". "' GETROOTELEMENT": invalid identifier
    CREATE TABLE XML_TEST_VIRT
      (
       MSG_TYPE         GENERATED ALWAYS AS (MESSAGE.GETROOTELEMENT()) VIRTUAL,
       MESSAGE  XMLTYPE             NOT     NULL,
       IE906    XMLTYPE             DEFAULT NULL
      )
       XMLTYPE COLUMN MESSAGE STORE AS SECUREFILE BINARY XML
       XMLTYPE COLUMN IE906   STORE AS SECUREFILE BINARY XML
    /
    While it succeeds
    CREATE TABLE XML_TEST_VIRT
      (
       MSG_TYPE         GENERATED ALWAYS AS (EXTRACT(MESSAGE, '/*').GETROOTELEMENT()) VIRTUAL,
       MESSAGE  XMLTYPE             NOT     NULL,
       IE906    XMLTYPE             DEFAULT NULL
      )
       XMLTYPE COLUMN MESSAGE STORE AS SECUREFILE BINARY XML
       XMLTYPE COLUMN IE906   STORE AS SECUREFILE BINARY XML
    /
    The GETROOTELEMENT from SYS member function. XMLTYPE is stated as "PARALLEL_ENABLE DETERMINISTIC" the method called is not the problem, as evidenced by the 2nd case.
    Using the MESSAGE column that is of type XMLTYPE directly seems to be the problem. But the question is "why." The result of the EXTRACT function is of type XMLTYPE and call his works of members, the column is also of type XMLTYPE still call its members fails...

    Thanks in advance for any ideas on that.

    Best regards
    Philippe

    Going on the means to go far, far back.

    2003 re: function getRootElement ORA-00904

  • Reference another table without specifying the referenced column: syntax question

    create table test (key primary number col1_pk,)

    number col2_fk, col1, col2 number, check constraint test_ck (col1_pk > 0 and col1 > 0),

    constraint fk_constraint foreign key (col2_fk) references test);

    in this example, for bold hand why isn't there a reference included after column

    test references?

    is it because Oracle knows he must refer to the pk column?

    > what is Oracle knows he must refer to the pk column

    Yes.

  • Create a column of table on RPD

    Hello

    I'm modeling a SPR file.

    Is it possible to create a column in a table based on another column?

    Kind regards

    Hello

    You can add additional columns in the layer of logic (Business Model).

    See you soon.

    Daan Bakboord

    Oracle BI by Bakboord

  • Create table with overlapping parallel dates in individual columns

    I try to combine data from two different tables into a single table.

    The data in table 1 contains locations of patients in a hospital where each record represents a single location. Patients can be transferred several times between the different beds resulting from multiple records for a single visit.

    The data in table 2 contains the operative activity of the patient to the Hospital where each record represents either the GOLD of the suspension of the recovery room. A patient may have multiple operations in a single visit.

    I would like to join/merge/mashup data in a single table that contains the data parallel to each other. In other words, dates of the appliance on one side of the table and the activity of GOLD on the other. The difficulty is that the two sets of overlapping of dates of arrival and departure. I wish that the final table to divide the originals in new records when the overlaps do not coincide.

    Example:

    Original in both events (one per table)

    > Unit event has - from 14:00 to 18:00

    > OR event B - from 16:00 to 17:00

    Results in 3 documents (in the final)

    > Event 1 - unit from 14:00 to 16:00, null dates GOLD

    > Event 2 - unit from 16:00 to 17:00 OR 16:00 to 17:00

    > Event 3 - unit from 17:00 to 18:00, null dates GOLD

    Of course overlap can be more complex than the example above and adding code to indicate the 'ghosts' transfers to as well.

    In the code below, the first visit of the GOLD occurs during the first mention of the unit.

    Jason

    Oracle 10g

    [code]

    create the table delme_Unit_dates

    (id varchar2 (20))

    , unit_rcd_id varchar2 (20)

    , Unit_desc varchar2 (20)

    Unit_in_code char (1)

    Date of Unit_in_dttm

    Date of Unit_out_dttm

    Unit_out_code char(1));

    create the table delme_or_dates

    (id varchar2 (20))

    , OR_rcd_id varchar2 (20)

    , OR_desc varchar2 (20)

    OR_in_code char (1)

    Date of OR_in_dttm

    Date of OR_out_dttm

    OR_out_code char(1));

    create the table delme_all_dates

    (id varchar2 (20))

    , Unit_OR_id varchar2 (40)

    , Unit_rcd_id varchar2 (20)

    , Unit_desc varchar2 (20)

    Unit_in_code char (1)

    Date of Unit_in_dttm

    Date of Unit_out_dttm

    Unit_out_code char (1)

    , OR_rcd_id varchar2 (20)

    , OR_Desc varchar2 (20)

    OR_in_code char (1)

    Date of OR_in_dttm

    Date of OR_out_dttm

    OR_out_code char (1));

    insert into delme_unit_dates values ('123456', 'U1111', 'Unit A', 'A', to_date('2013-04-29 5:02:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-09 1:06:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'B');

    insert into delme_unit_dates values ('123456', 'U1112', 'Unit A', 'B', to_date('2013-05-09 1:06:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-09 4:53:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'B');

    insert into delme_unit_dates values ('123456', 'U1113', 'Unit A', 'B', to_date('2013-05-09 4:53:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-10 10:52:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 't');

    insert into delme_unit_dates values ('123456', 'U1114', ' unity, 't', to_date('2013-05-10 10:52:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-11 11:30:00 AM', 'yyyy-mm-dd hh:mi:ss am'), 'B' ");

    insert into delme_unit_dates values ('123456', 'U1115', ' unity, ' B', to_date('2013-05-11 11:30:00 AM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-12 4:00:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'B');

    insert into delme_unit_dates values ('123456', 'U1116', ' unity, ' B ', to_date('2013-05-12 4:00:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-16 2:14:00 PM', 'yyyy-mm-dd hh:mi:ss am'),' t ');

    insert into delme_unit_dates values ('123456', 'U1117', 'Unit Z', ', to_date('2013-05-16 2:14:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-17 2:26:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'B');

    insert into delme_unit_dates values ('123456 ', 'U1118', 'Unit Z', 'B', to_date('2013-05-17 2:26:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-20 11:30:00 AM', 'yyyy-mm-dd hh:mi:ss am'),');

    insert into delme_or_dates values ('123456', 'OR2221', 'or 1', 'O', to_date('2013-05-09 7:35:00 AM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-09 10:56:00 AM', 'yyyy-mm-dd hh:mi:ss am'), 'R');

    insert into delme_or_dates values ('123456', 'OR2222', ' 5', 'R', to_date('2013-05-09 10:56:00 AM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-09 3:20:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'U');

    insert into delme_or_dates values ('123456', 'OR3331', 'or 2', 'O', to_date('2013-05-16 7:59:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-16 10:43:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'R');

    insert into delme_or_dates values ('123456', 'OR3332', ' 8', 'R', to_date('2013-05-16 10:43:00 PM', 'yyyy-mm-dd hh:mi:ss am'), to_date('2013-05-17 11:20:00 PM', 'yyyy-mm-dd hh:mi:ss am'), 'U');

    commit;

    -Is far from what we

    Select

    U.*

    , o.*

    Of

    delme_Unit_dates U

    delme_OR_dates O

    where

    U.ID = o.id

    and U.UNIT_IN_DTTM < = O.OR_IN_DTTM

    and U.UNIT_OUT_DTTM > = O.OR_IN_DTTM

    order of U.UNIT_IN_DTTM, O.OR_IN_DTTM

    ;

    [/ code]

    Post edited by: Jason_S (changed a single date ' 2013 - 05 - 16 15:20 ' to ' 2013 - 05 - 09 15:20 ')

    Hi, Jason.

    Jason_S wrote:

    I edited one of the dates in the original post.

    Also although the inpatient unit and OR events are contiguous for a given patient (no overlap and without gaps - after that data are cleaned).

    ...

    The sample data you posted a of gaps in the data of the GOLD.  It is correct that the solution below works or not there are gaps in the two tables.

    WITH got_dttm AS

    (

    SELECT unit_in_dttm AS DTMC

    OF delme_unit_dates

    UNION

    SELECT unit_out_dttm AS DTMC

    OF delme_unit_dates

    UNION

    SELECT or_in_dttm AS DTMC

    OF delme_or_dates

    UNION

    SELECT or_out_dttm AS DTMC

    OF delme_or_dates

    )

    all_periods AS

    (

    SELECT DTMC AS in_dttm

    , (DTMC) ahead OF (ORDER BY DTMC) AS out_dttm

    OF got_dttm

    )

    SELECT NVL (u.id, o.id) as id

    u.unit_rcd_id

    u.unit_desc

    u.unit_in_code

    p.in_dttm

    p.out_dttm

    o.or_rcd_id

    o.or_desc

    Of all_periods p

    LEFT OUTER JOIN delme_unit_dates u WE u.unit_in_dttm<=>

    AND u.unit_out_dttm > = p.out_dttm

    LEFT OUTER JOIN delme_or_dates o WE o.or_in_dttm<=>

    AND o.or_out_dttm > = p.out_dttm

    WHERE p.out_dttm IS NOT NULL

    ORDER BY p.in_dttm

    ;

    You can use the query above to CREATE or a CREATE TABLE... AS command.

    If you have as much data as you say, a table or materialized view would be maybe faster to use.

    You will notice that I do understand not all columns; I would like to know if you have a problem, including them.

    I don't know what id role plays in this problem.  It is difficult to say when all rows have the same value.

  • ORA-14030: partitioning column does not exist in the CREATE TABLE statement

    Hi all

    We are trying to create a partition materialized view and get an error below.
    ORA-14030: partitioning column does not exist in the CREATE TABLE statement
    Our GL_BALANCES21 and GL_CODE_COMBINATIONS21 base tables is already divided by interval of the range on Code_combination_id.
    In the same way that we try to partition the view materialized
    We get the error.
    ORA-14030: partitioning column does not exist in the CREATE TABLE statement
    Where the clause there are 4 tables gl_balances21, gl_code_combinations21, gl_periods and gl_set_of_books.


    CREATE MATERIALIZED VIEW apps. BAL_PART
    PARTITION BY RANGE ("CODE_COMBINATION_ID")
    (SCORE LOWER (80000) VALUES,
    PARTITION OF LOWER VALUES (160000),
    PARTITION OF LOWER VALUES (240000),
    PARTITION OF LOWER VALUES (320000),
    PARTITION OF LOWER VALUES (400000),
    PARTITION OF LOWER VALUES (480000),
    PARTITION OF LOWER VALUES (560000),
    PARTITION OF LOWER VALUES (640000),
    PARTITION OF LOWER VALUES (720000),
    PARTITION OF VALUES LESS THAN (800000),
    PARTITION OF LOWER VALUES (880000),
    PARTITION OF LOWER VALUES (960000),
    PARTITION OF VALUES LESS THAN (10400000),
    PARTITION OF LOWER VALUES (11200000),
    PARTITION OF LOWER VALUES (12000000),
    PARTITION OF LOWER VALUES (12800000),
    PARTITION OF VALUES LESS THAN (13600000),
    PARTITION OF LOWER VALUES (14400000),
    PARTITION OF VALUES LESS THAN (15200000),
    PARTITION OF LOWER VALUES (16000000),
    PARTITION OF VALUES LESS THAN (16800000),
    PARTITION OF VALUES LESS THAN (17600000),
    PARTITION OF VALUES LESS THAN (18400000),
    PARTITION OF VALUES LESS THAN (19200000),
    PARTITION OF LOWER VALUES (20000000),
    PARTITION OF VALUES LESS THAN (20800000),
    PARTITION OF VALUES LESS THAN (21600000),
    PARTITION OF VALUES LESS THAN (22400000),
    PARTITION OF VALUES LESS THAN (23200000),
    PARTITION OF LOWER VALUES (24000000),
    PARTITION OF VALUES LESS THAN (24800000),
    PARTITION OF VALUES LESS THAN (25600000),
    PARTITION OF VALUES LESS THAN (26400000),
    PARTITION OF LOWER VALUES (27200000),
    PARTITION OF LOWER VALUES (28000000),
    PARTITION OF VALUES LESS THAN (28800000),
    PARTITION OF VALUES LESS THAN (29600000),
    PARTITION OF VALUES LESS THAN (30400000),
    PARTITION VALUES LESS THAN (MAXVALUE))
    QUICKLY REFRESH ON DEMAND
    SELECT the QUERY REWRITE as
    SELECT GL.GL_CODE_COMBINATIONS21. ROWID C1,
    GL.GL_BALANCES21. ROWID C2,
    "GL". "" GL_BALANCES21 ". "" ACTUAL_FLAG, "
    "GL". "" GL_BALANCES21 ". "" CURRENCY_CODE "
    "GL". "" GL_BALANCES21 ". "" PERIOD_NUM, "
    "GL". "" GL_BALANCES21 ". "" PERIOD_YEAR ".
    "GL". "" GL_BALANCES21 ". "" SET_OF_BOOKS_ID ""SOB_ID"
    "GL". "" GL_CODE_COMBINATIONS21 ". "" CODE_COMBINATION_ID ""CCID.
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT1 ",.
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT10, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" DIRECTION11, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT12, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT13, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT14, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT2 ",.
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT3. "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT4, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT5, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT6, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT7. "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT8, "
    "GL". "" GL_CODE_COMBINATIONS21 ". "" SEGMENT9, "
    "GL". "" "" GL_PERIODS '. "" PERIOD_NAME,"
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_CR', 0) Open_Bal_Cr,
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_CR', 0) +.
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_CR', 0) Close_Bal_Cr,
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_DR', 0) Open_Bal_Dr,
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_DR', 0) +.
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_DR', 0) Close_Bal_Dr,
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_DR', 0).
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_CR', 0) Open_Bal,
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_DR', 0).
    NVL ("GL". "GL_BALANCES21" "." " (BEGIN_BALANCE_CR', 0) +.
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_DR', 0).
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_CR', 0) Close_Bal,
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_CR', 0) Period_Cr,
    NVL ("GL". "GL_BALANCES21" "." " (PERIOD_NET_DR', 0) Period_Dr
    OF GL.GL_CODE_COMBINATIONS21.
    GL.GL_BALANCES21,
    GL.GL_SETS_OF_BOOKS,
    GL.GL_PERIODS
    WHERE GL.GL_BALANCES21. CODE_COMBINATION_ID = GL.GL_CODE_COMBINATIONS21. CODE_COMBINATION_ID
    AND GL.GL_SETS_OF_BOOKS. SET_OF_BOOKS_ID = GL.GL_BALANCES21. SET_OF_BOOKS_ID
    AND GL.GL_PERIODS. PERIOD_NUM = GL.GL_BALANCES21. PERIOD_NUM
    AND GL.GL_PERIODS. PERIOD_YEAR = GL.GL_BALANCES21. PERIOD_YEAR
    AND GL.GL_PERIODS. PERIOD_TYPE = GL.GL_BALANCES21. PERIOD_TYPE
    AND GL.GL_PERIODS. PERIOD_NAME = GL.GL_BALANCES21. PERIOD_NAME
    AND GL.GL_PERIODS. PERIOD_SET_NAME = GL.GL_SETS_OF_BOOKS. PERIOD_SET_NAME
    and gl.GL_CODE_COMBINATIONS21.summary_flag! = « Y »

    ERROR on line 54:
    ORA-01013: user has requested the cancellation of the current operation

    I checked the metalink note saying that ensure that all columns in a partitioning column list are columns of
    the table being created.

    Partition is already there, on the column of code_combination_id of gl_balances21 and gl_code_combinations21.

    Please suggest.

    Thank you

    It's your mistake:

    PARTITION BY RANGE ("CODE_COMBINATION_ID") 
    

    but in your projection of column list, you have an alias he:

    "GL"."GL_CODE_COMBINATIONS21"."CODE_COMBINATION_ID" "CCID",
    

    You must use the alias as a partition key, not the name fom the secondary table column.
    --
    John Watson
    Oracle Certified Master s/n
    http://skillbuilders.com

  • Add default column have Boolean when creating table

    Hello

    I am trying to create a table with the default value for boolean data, as shown below:


    CREATE TABLE test_users)
    user_id number (11) NOT NULL PRIMARY KEY,
    first name varchar2 (50).
    VARCHAR2 (50) last_name,.
    e-mail varchar2 (100),
    user_password varchar2 (100),
    Zip_code varchar2 (50).
    title varchar2 (100),
    Description varchar2 (2000).
    PICTURE_PATH varchar2 (2000).
    one_time_activation number (1) value default null check (one_time_activation in (0,1)).
    one_time_activation_code varchar2 (100),
    is_active number (1) value default null check (is_active in (0,1)).
    security_question_id number (11),
    security_answer varchar2 (100),
    inserted_date DateTime,
    DateTime MODIFIED_DATE,
    check the number IS_DELETED (1) default 0 (is_deleted in (0,1)).
    last_login_date DateTime,
    no_of_views number (20) default 0,.
    is_redirect_to_edit_profile number (1) 1 check default (is_redirect_to_edit_profile in (0,1)).
    present_login_date DateTime,
    check the is_interested_ab_membership number (1) default 0 (is_interested_ab_membership in (0,1)).
    joined_date DateTime,
    removed_date DateTime,
    is_admin_deleted number (1) default check 0 (is_admin_deleted in (0,1)).
    moderated_by number (11),
    is_subscribe_newsletter number (1) default check 0 (is_subscribe_newsletter in (0,1)).
    user_pagination number (3) 15 by DEFAULT
    );

    but I'm getting
    Error on line 1
    ORA-00902: invalid data type

    Thank you

    Whatever your question has to do with sql developer?

    You don't even tell what database you want to use.

    Oracle does not support a data type 'datetime' so your create table statement will not work in Oracle.

    If you replace "datetime" 'date' the table creates very well.

  • create the table in SELECT (question)

    Hello

    In regards to create the table as subquery, I read that:

    The data type of column definitions and the NOT NULL constraint are passed to the new table. Note that only the explicit NOT NULL constraint is inherited. The PRIMARY KEY column will not function NOT NULL column null. Any other rule of constraint is not passed to the new table. However, you can add constraints in the column definition.

    Can someone explain to me how to do this? Or, how we need to specify the constraints (and also the default values for columns, because it is possible) for the columns in the column definition?

    In addition, I do not understand this: the PRIMARY KEY column will not function NOT NULL column zero.
    Can someone give me some small examples regarding these?
    For example, it generates an error:
    create table test1 (a, b, c default sysdate) 
    as 
    select 1, 'b' from dual
    Thank you!

    Edited by: Roger22 the 01.09.2011 11:37

    Hello

    When you set a primary key consists of a unique constraint and a constraint not null, but they are both implicit with the primary key. When you create the table because it will copy only the explicitly declared NOT NULL constraints so it isn't look upward than the implicit NOT NULL primary key.

    SQL> create table dt_pk
      2  (   id      number primary key,
      3      col1    number not null,
      4      col2    number
      5  )
      6  /
    
    Table created.
    
    SQL> desc dt_pk
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> create table dt_pk2 as select * from dt_pk;
    
    Table created.
    
    SQL> desc dt_pk2;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                                 NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935772                 C
    SYS_C006935773                 P
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK2'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935774                 C
    

    However, a primary key can reuse existing constraints and indexes instead of declaring new. For example, we can explicitly declare a constraint not null on the column id and then create a primary key. This means that we will now inherit the constraint not null in the ETG, as it has been explicitly declared and is a constraint separate in there own right that has been 'borrowed' by the pk constraint.

    SQL> create table dt_pk3 (id number not null, col1 number not null, col2 number);
    
    Table created.
    
    SQL> alter table dt_pk3 add constraint dt_pk3_pk primary key (id);
    
    Table altered.
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK3'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935775                 C
    SYS_C006935776                 C
    DT_PK3_PK                      P
    
    SQL> create table dt_pk4 as select * from dt_pk3;
    
    Table created.
    
    SQL> desc dt_pk3;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> desc dt_pk4;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER 
    

    Regarding the definition of the default values, you must always specify the column in the select, but doing so means follow you the semantics of a default in a standard INSERT statement, i.e. you specified the column, you must provide a value, in which case even if the value is null, the default value will not be used. However, the new inserted rows where the column with the default value is not specified will revert to the default.

    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b' from dual
      4  /
    create table test1 (a, b, c default sysdate)
                        *
    ERROR at line 1:
    ORA-01730: invalid number of column names specified
    
    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b', null c from dual
      4  /
    select 1, 'b', null c from dual
                   *
    ERROR at line 3:
    ORA-01723: zero-length columns are not allowed
    
    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b', cast(null as date) c from dual
      4  /
    
    Table created.
    
    SQL> select * from test1;
    
             A B C
    ---------- - ---------
             1 b
    
    SQL> insert into test1(a,b) values(2,'b');
    
    1 row created.
    
    SQL> select * from test1;
    
             A B C
    ---------- - ---------
             1 b
             2 b 01-SEP-11
    

    To create a constraint, you must list all columns without the data types and constraints list online.

    SQL> create table dt_cons (id number, col1 number, col2 number, constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (id number, col1 number, col2 number, constraint chk2 check(col2 IS NULL or col2>10))
                          *
    ERROR at line 1:
    ORA-01773: may not specify column datatypes in this CREATE TABLE
    
    SQL> create table dt_cons (constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (constraint chk2 check(col2 IS NULL or col2>10))
                         *
    ERROR at line 1:
    ORA-00904: : invalid identifier
    
    SQL> create table dt_cons (col2 constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (col2 constraint chk2 check(col2 IS NULL or col2>10))
                          *
    ERROR at line 1:
    ORA-01730: invalid number of column names specified
    
    SQL> create table dt_cons (id,col1,col2 constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    
    Table created.
    
    SQL> desc dt_cons
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> insert into dt_cons values(2,2,2);
    insert into dt_cons values(2,2,2)
    *
    ERROR at line 1:
    ORA-02290: check constraint (JJACOB_APP.CHK2) violated
    
    SQL> insert into dt_cons values(2,2,10);
    insert into dt_cons values(2,2,10)
    *
    ERROR at line 1:
    ORA-02290: check constraint (JJACOB_APP.CHK2) violated
    
    SQL> insert into dt_cons values(2,2,11);
    
    1 row created.
    
    SQL> insert into dt_cons values(2,2,null);
    
    1 row created.
    
    SQL>
    

    HTH

    David

  • Create table with data in the column

    Create a new table, just want to know if there is a way to add a new column to the table with a value in all areas of this column when new rows are added to that this column will always be the same value

    As...

    name | address | zip | assets



    Active will always be Yes.
    I do a trigger?

    Use the default...

    create table (test)
    name varchar2 (20).
    address varchar2 (40),
    zip number (7).
    Active VARCHAR2 (3) DEFAULT NULL NOT 'yes');

  • create table as a table with nested column type

    On my Oracle DB (11.1), I have a table with a nested as a column type (and it is a partitioned table).
    Now I need to copy partitions in a second table, and I use swap partition for it (with a table that is not partitioned as a table in step).

    But there is a problem, because as the ordinary as sql ddl:
    create table table1_stage as select * from table1 where 1=2;
    does not work when there is a table nested within a column type.
    Is it possible easy to copy its structure (and to create the table that is not partitioned, so I suppose that no dbms_metadata package would help)?


    Kind regards...

    >
    does not work when there is a table nested within a column type.
    >

    Will work indeed.

    Read this

    SQL> CREATE TYPE typtst IS TABLE OF VARCHAR2 (100);
      2
      3  /
    
    Type created.
    
    SQL> CREATE TABLE test1
      2  (
      3     col1   VARCHAR2 (100),
      4     col2   typtst
      5  )
      6  NESTED TABLE col2
      7     STORE AS list1;
    
    Table created.
    
    SQL> CREATE TABLE test2
      2  NESTED TABLE col2
      3     STORE AS list2
      4  AS
      5     SELECT * FROM test1;
    
    Table created.
    
    SQL> 
    

    G.

  • Create table works, create materialized view only - long column names?

    Hello.

    I have no probs creating a table as well: -.
    CREATE TABLE blah
    (
    DEVICE_ID
    )
    in select
    "Device_ID" AS DEVICE_ID
    "of"sum" Device"@ed_link_3
    where "Device_ID" < 5;


    But when I try to create a materialized view:
    Blah1 CREATE MATERIALIZED VIEW
    (
    DEVICE_ID
    )
    < various materialized view parms >
    in select
    "Device_ID" AS DEVICE_ID
    "of"sum" Device"@ed_link_3
    where "Device_ID" < 5;

    It fails with errors: -.
    ORA-04052: error occurred when searching to the top of the remote object Aggregate.Device@ED_LINK_3
    ORA-01948: length of the name of the identifier (31) exceeds maximum (30)

    Is there a way to get around this?
    Is the problem with the columns of the remote table of device, which I do NOT need to import to have column names that are longer than 30 characters?

    For now, I want only the Device_ID column which is a simple 9 characters long.

    Oh, and the remote database is MySQL.
    I'm uncomfortable with the < parms of materialized view > as they work fine when I choose a different remote table with only short column names.

    Thank you.

    To my knowledge, you have the option
    (a) create view (with shortened column names or only with desired columns if they are already less than 30 char limit) side of mysql
    (b) use dbms_passthrough to force the analysis to be done on mysql (as in the example provided by SY here use dbms_passthrough to create a view )
    However, I prefer to stick to one), because with dbms_passtrhough, you retrieve row by row.

    Best regards

    Maxim

  • Create table 2d by pulling larger 2d table columns, as indivated by an array of Boolean

    Hello

    I have a 2d chart with 16 columns that contain data from different input channels.  I also have a 1 d array of Boolean (length 16) corresponding to these columns.  In the table of Boolean 1 d, if a value is true, I want this column in table 2d to stay.  If the value in the table of Boolean 1 d is wrong, I want to delete the corresponding column.

    Thus, for example, if the table of Boolean 1 d looks like this:

    [T T T T F F T T T F T T F F T F]

    the new 2d array would be 10 columns, which correspond to the columns of the old 16-column of table 1, 2, 3, 4, 7, 8, 9, 11, 12 and 15.

    I am very new to labview (programming just started yesterday). Can someone help a newbie to do something that is probably simple? In my view, that there will be an iteration back through the deletion of rows and 16 columns table columns as they come if the value of the Boolean vector is false, or iterate forward through the 16 columns and add columns to a table if the value of the Boolean vector is true... but I don't know how to do this.

    Thank you

    Matt

    If you have 2012 you could just do this:

    -Ryan S.

  • Question about GRANT CREATE TABLE permission

    Hello

    How can I give UserA to create tables to UserB/SchemaB. I understand that 'CREATE TABLE' will give permission to the user to create tables within its own schema and "CREATE ANY TABLE" will give permission to the user to create tables in a schema.

    Y at - it a command to give the specific schema CREATE TABLE? Please advice... Thank you!

    Y at - it a command to give the specific schema CREATE TABLE? Please advice... Thank you!

    No, but you can create your own solution

    have SCHEMA_B create a procedure, MAKE_SCHEMA_B_TBL, which sends the command below

    RUN IMMEDIATELY CREATE TABLE...

    then do as below

    GRANT EXECUTE ON MAKE_SCHEMA_B_TBL TO SCHEMA_A;

  • epengs.dB (ENG) + error CREATE TABLE PS_1099C_CUST_DATA


    PT 8.54.10

    FSCM 9.2 (picture 13)

    SQL Server 2008 (64-bit)

    We get below error when we are in the stages of the creation of the DB via DM scripts.

    Started the: Tue Nov 17 02:10:54 2015
    Release of Data Mover: 8.54.10
    Database: FSDMO92 (ENG)
    Input file: E:\FSDMO92\data\epengs.db (ENG)
    Import 1099C_CUST_DATA
    Create Table 1099C_CUST_DATA
    -SQL error. Position of the error: 0 return: 8601 -.


    [Microsoft] [SQL Server Native Client 10.0] [SQL Server] Column, parameter, or variable #4: could not find the PSDATE data type.
    [Microsoft] [SQL Server Native Client 10.0] [SQL Server] Instructions could not be prepared. (SQLSTATE 37000) 8180

    CREATE TABLE PS_1099C_CUST_DATA (CUST_ID varchar (15) NOT NULL, TIN varchar (20) NOT NULL, TAXPAYER_ID varchar (14) is NOT NULL, ASOF_DATE PSDATE NULL, decimal ENTRY_AMT (26, 3) NOT NULL, decimal INTEREST_EXPENSE (26, 3) NOT NULL, Name1 varchar (40) NOT NULL, NAME2 varchar (40) NOT NULL, NOT NULL of the varchar (55), of ADDR_LN1 ADDR_LN2 varchar (55) NOT NULL) , ADDR_LN3 varchar (55) NOT NULL, ADDR_LN4 varchar (55) NOT NULL, CITY varchar (30) NOT NULL, NOT NULL of the varchar (6) State, POSTAL varchar (12) NOT NULL, TEL varchar (24) is NOT NULL, NAME varchar (50) NOT NULL, Name3 varchar (40) NOT NULL, name4 varchar (40) NOT NULL, CITY3 varchar (30) NOT NULL, Address1 varchar (55) NOT NULL , State3 varchar (6) NOT NULL, POSTAL...
    Error: Unable to process create statement for 1099C_CUST_DATA
    Ending: Tue Nov 17 02:10:56 2015
    Unsuccessful end

    Cannot find the data type PSDATE comes here.  Looks like one of the required scripts has not been executed.  It has been long since I am on a site of SQL Server, but I understand the substance of this issue.  PeopleSoft creates a customized in SQL Server PSDATE data type which is an extension of the date format.

    Rather than to point you to the script, I suggest you go back and find where this prerequisite is necessary and make sure that you are not lacking in any other required component.

Maybe you are looking for