Inserting value in the single column table where the only column is a identity column

Hi,
Following is my table definition:
create table test1 (col1 int primary key identity(1,1))
Now here, the only column col1 in the table is an identity column. Now I want to add explicit values to this column
without SET Identity_Insert test1 On.
How?

You have a fundamental misconception. IDENTITY is not a column; it is a table property and it is totally non-relational. This is a left-over from UNIX file systems, which were built on magnetic tape files. It is a sequential data
model which counts the insertion attempts to get a physical record number. By definition IDENTITY cannot be a valid key; it is not a valid data type (all data types in SQL are NULL-able); keys are a subset of columns in a table. 
Have you ever read a single book on RDBMS? You can start with MANGA GUIDE TO DATABASE, it is the clearest intro book I know. 
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL

Similar Messages

  • Inserted value too large for column Error

    I have this table:
    CREATE TABLE SMt_Session
         SessionID int NOT NULL ,
         SessionUID char (36) NOT NULL ,
         UserID int NOT NULL ,
         IPAddress varchar2 (15) NOT NULL ,
         Created timestamp NOT NULL ,
         Accessed timestamp NOT NULL ,
         SessionInfo nclob NULL
    and this insert from a sp (sp name is SMsp_SessionCreate):
         Now := (SYSDATE);
         SessionUID := SYS_GUID();
         /*create the session in the session table*/
         INSERT INTO SMt_Session
                   ( SessionUID ,
                   UserID ,
                   IPAddress ,
                   Created ,
                   Accessed )
         VALUES           ( SMsp_SessionCreate.SessionUID ,
                   SMsp_SessionCreate.UserID ,
                   SMsp_SessionCreate.IPAddress ,
                   SMsp_SessionCreate.Now ,
                   SMsp_SessionCreate.Now );
    It looks like the param SessionUID is the one with trouble, but the length of sys_guid() is 32, and my column has 36.
    IPAddress is passed to the sp with value '192.168.11.11', so it should fit.
    UserID is 1.
    I am confused, what is the column with problem ?

    CREATE OR REPLACE PROCEDURE SMsp_SessionCreate
         PartitionID IN      INT ,
         UserID IN      INT ,
         IPAddress IN      VARCHAR2 ,
         SessionID IN OUT      INT,
         SessionUID IN OUT      CHAR,
         UserName IN OUT      VARCHAR2,
         UserFirst IN OUT      VARCHAR2,
         UserLast IN OUT      VARCHAR2,
         SupplierID IN OUT      INT,
         PartitionName IN OUT      VARCHAR2,
         Expiration IN      INT ,
         RCT1 OUT      GLOBALPKG.RCT1
    AS
         Now DATE;
         SCOPE_IDENTITY_VARIABLE INT;
    BEGIN      
         Now := SYSDATE;
         -- the new Session UID      
         SessionUID := SYS_GUID();
         /*Cleanup any old sessions for this user*/
         INSERT INTO SMt_Session_History
                   ( UserID ,
                   IPAddress ,
                   Created ,
                   LastAccessed ,
                   LoggedOut )
         SELECT
                   UserID,
                   IPAddress,
                   Created,
                   Accessed,
                   TO_DATE(Accessed + (1/24/60 * SMsp_SessionCreate.Expiration))
         FROM SMt_Session
         WHERE     UserID = SMsp_SessionCreate.UserID;
         --delete old     
         DELETE FROM SMt_Session
         WHERE UserID = SMsp_SessionCreate.UserID;
         /*create the session in the session table*/
         INSERT INTO SMt_Session
                   ( SessionUID ,
                   UserID ,
                   IPAddress ,
                   Created ,
                   Accessed )
         VALUES           ( SMsp_SessionCreate.SessionUID ,
                   SMsp_SessionCreate.UserID ,
                   SMsp_SessionCreate.IPAddress ,
                   SMsp_SessionCreate.Now ,
                   SMsp_SessionCreate.Now );
         SELECT SMt_Session_SessionID_SEQ.CURRVAL INTO SMsp_SessionCreate.SessionID FROM dual;
         --SELECT SMt_Session_SessionID_SEQ.CURRVAL INTO SCOPE_IDENTITY_VARIABLE FROM DUAL;
         --get VALUES to return
         SELECT u.AccountName INTO SMsp_SessionCreate.UserName FROM SMt_Users u WHERE u.UserID = SMsp_SessionCreate.UserID;
         SELECT u.SupplierID INTO SMsp_SessionCreate.SupplierID FROM SMt_Users u WHERE u.UserID = SMsp_SessionCreate.UserID;
         SELECT u.FirstName INTO SMsp_SessionCreate.UserFirst FROM SMt_Users u WHERE u.UserID = SMsp_SessionCreate.UserID;
         SELECT u.LastName INTO SMsp_SessionCreate.UserLast FROM SMt_Users u WHERE u.UserID = SMsp_SessionCreate.UserID;
         BEGIN
              FOR REC IN ( SELECT
                   u.AccountName,
                   u.SupplierID,
                   u.FirstName,
                   u.LastName FROM SMt_Users u
         WHERE     UserID = SMsp_SessionCreate.UserID
              LOOP
                   SMsp_SessionCreate.UserName := REC.AccountName;
                   SMsp_SessionCreate.SupplierID := REC.SupplierID;
                   SMsp_SessionCreate.UserFirst := REC.FirstName;
                   SMsp_SessionCreate.UserLast := REC.LastName;
              END LOOP;
         END;
         BEGIN
              FOR REC IN ( SELECT PartitionName FROM SMt_Partitions
         WHERE     PartitionID = SMsp_SessionCreate.PartitionID
              LOOP
                   SMsp_SessionCreate.PartitionName := REC.PartitionName;
              END LOOP;
         END;
         /*retrieve all user roles*/
         OPEN RCT1 FOR
         SELECT RoleID     FROM SMt_UserRoles
         WHERE     UserID = SMsp_SessionCreate.UserID;
    END;
    this is the exact code of the sp. The table definition is this:
    CREATE TABLE SMt_Session
    SessionID int NOT NULL ,
    SessionUID char (36) NOT NULL ,
    UserID int NOT NULL ,
    IPAddress varchar2 (15) NOT NULL ,
    Created timestamp NOT NULL ,
    Accessed timestamp NOT NULL ,
    SessionInfo nclob NULL
    The sp gets executed with this params:
    PARTITIONID := -2;
    USERID := 1;
    IPADDRESS := '192.168.11.11';
    SESSIONID := -1;
    SESSIONUID := NULL;
    USERNAME := '';
    USERFIRST := '';
    USERLAST := '';
    SUPPLIERID := -1;
    PARTITIONNAME := '';
    EXPIRATION := 300;
    if I ran the code inside the procedure in sql+ (not the procedure), it works. when i call the sp i get the error
    inserted value too large for column
    at line 48

  • Library Filters: Filter for multiple values in a single column and Wildcards

    If you have a multi-value column in a library, can you filter to show only results where two (or more) specific values (terms) are applied? E.g. Year 2014 and Month January? Seems this would be particularly useful for Enterprise Keywords columns.
    Similarly, is there any way to filter on one value OR another value in a single column (e.g. Document Type Memo OR Fax)?
    Any way to use wildcards in searches (would be REALLY useful in the Title and Name columns when naming conventions have been followed).
    I'm guessing the answer is going to be 'move to SharePoint 2013' - if that is the case, please confirm whether all the scenarios mentioned above are catered for.

    Thanks for your replies !
    Is there any other way to achieve this ?
    There is 1 InfoObject which has 2 fields Employee and Department.
    Employee     Department
    001                A
    001                B
    001                C
    In the report there should be 1 row for Employee 001 with all the Departments displayed in the same cell separated by commas.
    Can this be done in the backend through a ABAP code?

  • Inserted value too large for column

    Hi,
    I have a table (desc below), with only one trigger wich fill the operatcreat, operatmodif, datecreat and datemodif column at insert and update for each row. When I try to insert, I got the following messages :
    INSERT INTO tarifclient_element(tarifclient_code,article_code,prix) VALUES('12','087108',3.94);
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01401: inserted value too large for column
    SQL> desc tarifclient_element
    Name Null? Type
    TARIFCLIENT_CODE NOT NULL CHAR(10)
    ARTICLE_CODE NOT NULL CHAR(20)
    PRIX NUMBER
    OPERATCREAT NOT NULL VARCHAR2(30)
    OPERATMODIF VARCHAR2(30)
    DATECREAT NOT NULL DATE
    DATEMODIF DATE
    NB : tarifclient_code is an ENABLED fk, article_code is a DISABLED fk. All values exists in both referenced tables.
    Any idea ?

    My trigger is not the problem, I tried to delete it and fill the columns manually and got the same error.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by allanplumb ():
    The SQL you have shown us looks OK
    (to me, au moins). However, perhaps the
    error is in the trigger which fills in
    the two operativ fields. It would execute
    at the same time as your insert, near
    enough.
    -- Allan Plumb<HR></BLOCKQUOTE>
    null

  • ORA-01401: inserted value too large for column from 9i to 8i

    Hi All,
    Am trying to get the data from 9.2.0.6.0 to 8.1.7.0.0.
    The character sets in both of them are as follows
    9i
    NLS_NCHAR_CHARACTERSET : AL16UTF16
    NLS_CHARACTERSET : AL32UTF8
    8i
    NLS_NCHAR_CHARACTERSET : UTF8
    NLS_CHARACTERSET : UTF8
    And the structure of the Table in 9i which am trying to pull is as follows.
    SQL> desc xyz
    Name Null? Type
    PANEL_SITE_ID NOT NULL NUMBER(15)
    PANELIST_ID NUMBER
    CHECKSUM VARCHAR2(150)
    CONTACT_PHONE VARCHAR2(100)
    HH_STATUS NUMBER
    HH_STATUS_DT DATE
    HH_RECRUITMENT_PHONE VARCHAR2(100)
    HH_RECRUITMENT_DT DATE
    FIRST_NET_USAGE_DT DATE
    INSTALL_DT DATE
    FNAME VARCHAR2(4000)
    LNAME VARCHAR2(4000)
    EMAIL_ADDRESS VARCHAR2(200)
    EMAIL_VALID NUMBER
    PASSWORD VARCHAR2(4000)
    And by connecting to one of the 8i schema am running the following script
    CREATE TABLE GPMI.GPM_HOUSEHOLDBASE_FRMP AS
    SELECT PANEL_SITE_ID,
    PANELIST_ID,
    LTRIM(RTRIM(CHECKSUM)) CHECKSUM,
    LTRIM(RTRIM(CONTACT_PHONE)) CONTACT_PHONE,
    HH_STATUS, HH_STATUS_DT,
    LTRIM(RTRIM(HH_RECRUITMENT_PHONE)) HH_RECRUITMENT_PHONE,
    HH_RECRUITMENT_DT,
    FIRST_NET_USAGE_DT,
    INSTALL_DT, LTRIM(RTRIM(FNAME)) FNAME,
    LTRIM(RTRIM(LNAME)) LNAME,
    LTRIM(RTRIM(EMAIL_ADDRESS)) EMAIL_ADDRESS,
    EMAIL_VALID,
    PASSWORD
    FROM [email protected];
    Am gettinh the following error.
    Can anyone of you fix this one.
    PASSWORD
    ERROR at line 14:
    ORA-01401: inserted value too large for column
    Thanks in Advance
    Sudarshan

    Additionally I found this matrix, which explains your problem:
    UTF8 (1 to 3 bytes) AL32UTF8 (1 to 4 bytes)
    MIN MAX MIN MAX
    CHAR 2000 666 2000 500
    VARCHAR2 4000 1333 4000 1000 */
    For column PASSWORD the maximum length is used (4000). UTF8 uses maximal 3 bytes for a character, while AL32UTF8 may use up to 4 characters. So a column defined in AL32UTF8 may contain characters, which do not fit in a corresponding UTF8 character.

  • EXEC SQL Error: ORA-01401: Inserted value too large for column

    Getting this SQL Error: ORA-01401: Inserted value too large for column..on an EXEC SQL Insert statement when writing to an
    external Oracle DB from SAP.
    On further analysis..it appears that this happens to the fields..when the string length matches the field length.
    Example:  Plant field is defined as char(4) on the SAP side and it is a Varchar2(4) on the Oracle side.
    When a value like '1015' is passed thru a variable in the insert statement then this ORA-01401 error pops up.
    No error:
       - if the value '1015' is passed directly in the insert statement to the external table  (or)
       - when a value with 3 chars or less(like the first three chars..101) is passed thru a variable  defined as 'Plant(4) type c'.
       - when using EXEC sql within SAP
       - when reading from the external db table
    This was working ok until the  Oracle Patch P9147110 was installed recently.
    Any suggestions !

    Hello Dvas,
    what's the characterset of your external database?
    What's the column definition in your external database (byte or character based)?
    If you use a characeterset like UTF8 it is possible, that one character needs more than one byte and then you will run into such kind of issues if the definition is too small.
    Regards
    Stefan

  • Snapshot refresh error:  ora-01401 inserted value too large for column

    I have an error ora-01401 "Inserted value too large for column" when I try to do a refresh on a group at the materialized view site.
    My model is 1 master replicating to a readonly materialized view site. I have 2 refresh groups for separate sets of tables. 1 refresh group work fine...the other I got the above error.
    I have doubled the rbs and system tablespace without any help thinking that I must be running out of default rollback segment space.
    Anyone has this before?

    The error is related to a field, not to any tablespace. This normaly happens to me when I change the lenght or resolution of a field in the base tables. The structure changes don't "flow" to the materialized view! I must "regenerate" them. Normally droping and creating it again to make them receive the new lenght of that field.
    Sometimes, when the field changed is not part of any primary key I have changes directly the field in the materialized view as if it was a normal table.
    Hope this helps
    Luis

  • Getting error ORA-01401: inserted value too large for column

    Hello ,
    I have Configured the scenario IDOC to JDBC .In the SXMB_MONI am getting the succes message .But in the Adapter Monitor am getting the error message as
    ORA-01401: inserted value too large for column and the entries also not inserted in to the table.I hope this is because of the date format only.In Oracle table date field has defined in the format of '01-JAN-2005'.I am also passing the date field in the same format only for INVOICE_DATE and INVOICE_DUE_DATE.Please see the target structure .
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns:INVOICE_INFO_MT xmlns:ns="http://sap.com/xi/InvoiceIDoc_Test">
    - <Statement>
    - <INVOICE_INFO action="INSERT">
    - <access>
      <INVOICE_ID>0090000303</INVOICE_ID>
      <INVOICE_DATE>01-Dec-2005</INVOICE_DATE>
      <INVOICE_DUE_DATE>01-Jan-2005</INVOICE_DUE_DATE>
      <ORDER_ID>0000000000011852</ORDER_ID>
      <ORDER_LINE_NUM>000010</ORDER_LINE_NUM>
      <INVOICE_TYPE>LR</INVOICE_TYPE>
      <INVOICE_ORGINAL_AMT>10000</INVOICE_ORGINAL_AMT>
      <INVOICE_OUTSTANDING_AMT>1000</INVOICE_OUTSTANDING_AMT>
      <INTERNAL_USE_FLG>X</INTERNAL_USE_FLG>
      <BILLTO>0004000012</BILLTO>
      <SHIPTO>40000006</SHIPTO>
      <STATUS_ID>O</STATUS_ID>
      </access>
      </INVOICE_INFO>
      </Statement>
      </ns:INVOICE_INFO_MT>
    Please let me know what are all the possible solution to fix the error and to insert the entries in the table.
    Thanks in Advance!

    Hi muthu,
    // inserted value too large for column
    When your oracle insertion throws this error, it implies that some value that you are trying to insert into the table is larger than the allocated size.
    Just check the format of your table and the respective size of each field on your oracle cleint by using the command,
    DESCRIBE <tablename> .
    and then verify it with the input. I dont think the problem is with the DATE format because if it is not a valid date format, you would have got on error like
    String Literal does not match type
    Hope this helps,
    Regards,
    Bhavesh

  • Sqlldr ORA-01401: inserted value too large for column

    export nls_characterset
    WE8ISO8859P1
    import nls_characterset
    AL32UTF8
    Here is how my control file looks like
    LOAD DATA
    INFILE 'db_service.dat'
    INTO TABLE DB_SERVICE
    FIELDS TERMINATED BY ','
    TRAILING NULLCOLS
    APPS_ID CHAR NULLIF (APPS_ID=BLANKS)
    , LCR_CODE CHAR NULLIF (LCR_CODE=BLANKS)
    , SERVICE_ID CHAR NULLIF (SERVICE_ID=BLANKS)
    , STARTTIME CHAR NULLIF (STARTTIME=BLANKS)
    , ENDTIME CHAR NULLIF (ENDTIME=BLANKS)
    , ROUTE_CODE_LEGA CHAR NULLIF (ROUTE_CODE_LEGA=BLANKS)
    , ROUTE_CODE_LEGB CHAR NULLIF (ROUTE_CODE_LEGB=BLANKS)
    , ACTIVE_DATE DATE "DD-MON-YYYY HH24:MI:SS" NULLIF (ACTIVE_DATE=BLANKS)
    , TERMINATE_DATE DATE "DD-MON-YYYY HH24:MI:SS" NULLIF (TERMINATE_DATE=BLANKS)
    , CREATE_ON DATE "DD-MON-YYYY HH24:MI:SS" NULLIF (CREATE_ON=BLANKS)
    , CREATE_BY CHAR NULLIF (CREATE_BY=BLANKS)
    command line used
    sqlldr userid=prod@webdevelopment control=D:\oracle\useful-oracle\dba\sqlldr\route_mgmt\control_20080813.ctl data=D:\oracle\useful-oracle\dba\sqlldr\route_mgmt\export_20080813.csv direct=true log=D:\oracle\useful-oracle\dba\sqlldr\route_mgmt\export_20080813.log
    but I always encounter
    ORA-01401: inserted value too large for column
    so how should I resolve this issue?
    thanks

    hi
    ORA-01401
    ORA-01401:     inserted value too large for column
    Cause:     The value entered is larger than the maximum width defined for the column.
    Action:     Enter a value smaller than the column width or use the MODIFY option with ALTER TABLE to expand the column width.
    check out this link from burleson ....
    http://www.dba-oracle.com/sf_ora_01401_inserted_value_too_large_for_column.htm
    hope this helps
    CHeers

  • Inserted value too large for column error while scheduling a job

    Hi Everyone,
    I am trying to schedule a PL SQL script as a job in my Oracle 10g installed and running on Windows XP.
    While trying to Submit the job I get the error as "Inserted value too large for column:" followed by my entire code. The code is correct - complies and runs in Oracle ApEx's SQL Workshop.
    The size of my code is 4136 character, 4348 bytes and 107 lines long. It is a code that sends an e-mail and has a +utl_smtp.write_data([Lots of HTML])+
    There is no insert statement in the code whatsoever, the code only queries the database for data...
    Any idea as to why I might be getting this error??
    Thanks in advance
    Sid

    The size of my code is 4136 character, 4348 bytes and 107 lines long. It is a code that sends an e-mail and has a utl_smtp.write_data(Lots of HTML)SQL variable has maximum size of 4000

  • 'ORA-01401 inserted value too large for column' - 9i

    I am migrating a java application from 8i to 9i. The application is writing data to a oracle 8i database without any problem.
    When the underlying database source is switched to oracle 9i database(same databaseschema as 8i) by pointing to 9i instance , the application is
    encountering the error: 'ORA-01401 inserted value too large for column' when trying to insert a particular field. The fileld is declared as varchar2(400) in the both the database.
    The debug output from application also shows that the column data being inserted as 10 characters.The insert statement from SQLPLUS works fine. So it's looks like an issue with the JDBC driver for the 9i server. I am wondering if anyone has observed such strange behavior.
    Thanks
    Vijay

    Vijay,
    Are you using OCI driver ? There is a known issue with OCI driver when using setFixedCHAR before an INSERT statement. This problem only happens with a string of length zero. There is no known issue with THIN Driver. This is fixed in Oracle9i Release 2.
    regards
    Debu Panda
    Oracle

  • Exporting Page fails with ORA-1401 inserted value too large for column

    Hi Everyone,
    I have a client what is getting the following error when
    attempting to export a page using pageexp.cmd. A simple page
    works for them but there main page does not. Here is the error:
    Extracting Portal Page Data for Export...
    begin
    ERROR at line 1:
    ORA-01401: inserted value too large for column
    ORA-06512: at "PORTAL30.WWUTL_POB_EXPORT", line 660
    ORA-06512: at "PORTAL30.WWUTL_POB_EXPORT", line 889
    ORA-06512: at line 5
    Has anyone seen this before?
    Is there any way we can narrow down why this occurs?
    There is no logging on this export option and the stored
    procedures used are wrapped.
    Any ideas?
    Thanks
    Oracle Portal Version: 3.0.9.8.0

    we had this problem.
    We talked to some oracle person who said some portlets on a page had trouble exporting.
    Sure enough after we deleted all the portlets (one at a time to determine which one was giving us the problem. Turned out none of ours worked) the page exported and imported just fine.
    Hopefully this is being worked on...

  • ORA-1401: inserted value too large for column

    Some versions (of Oracle 9i) insert a truncated string, newer versions (9.2.0.6.5) issue an error message and don’t insert anything.
    ORA-1401: inserted value too large for column
    We are aware of a 2000-character limit on literal strings (might be a byte limit instead of character) but you could always use concatenation to build up a longer string 2000 at a time. But this is rejected if the field is nvarchar2 and wider than 1000 (characters).
    Using a function, you can insert 2000 characters. For example, lpad(‘X’, 2000, ‘X’) will go in. But this will not:
    ‘XXXXXXXXXXXXXXXXXXXXXXXXXX’
    ||’XXXXXXXXXXXXXXXXXXXXXXXXX’
    . . . to >1000 characters.
    If anyone knows anything about this, we would appreciate hearing from you.

    we had this problem.
    We talked to some oracle person who said some portlets on a page had trouble exporting.
    Sure enough after we deleted all the portlets (one at a time to determine which one was giving us the problem. Turned out none of ours worked) the page exported and imported just fine.
    Hopefully this is being worked on...

  • SQL Server 2012 Management Studio: Creating a Database and a dbo Table. Inserting VALUES into the table. How to insert 8 Values for future use in XQuery?

    Hi all,
    In my SQL Server 2012 Management Studio (SSMS2012), I tried to create a Database (MacLochainnsDB) and a dbo Table (marvel). then I wanted insert 8 VALUES into the Table by using the following code:
    USE master
    IF EXISTS
    (SELECT 1
    FROM sys.databases
    WHERE name = 'MacLochlainnsDB')
    DROP DATABASE MacLochlainnsDB
    GO
    CREATE DATABASE MacLochlainnsDB
    GO
    CREATE TABLE [dbo].[marvel] (
    [avenger_name] [char] (30) NULL)
    INSERT INTO marvel
    (avenger_name)
    VALUES
    ('Hulk', 1),
    ('Iron Man', 2),
    ('Black Widow', 3),
    ('Thor', 4),
    ('Captain America', 5),
    ('Hawkeye', 6),
    ('Winter Soldier', 7),
    ('Iron Patriot', 8)
    I got the following error Message:
    Msg 110, Level 15, State 1, Line 5
    There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
    How can I correct this problem?
    Please kindly help and advise.
    Thanks in advance,
    Scott Chang
    P. S.
    The reason I tried to create the Database, dbo Table, and then to insert the VALUES is to learn the following thing:
    You can query the entire node tree with the following xquery statement because it looks for the occurrence of any node with the /* search string:
    DECLARE @x xml;
    SET @x = N'<marvel>
    <avenger_name>Captain America</avenger_name>
    </marvel>';
    SELECT @x.query('/*');
    You can query the avenger_name elements from the marvel_xml table with the following syntax:
    SELECT xml_table.query('/marvel/avenger_name')
    FROM marvel_xml;
    It returns the following set of avenger_name elements:
    <avenger_name>Hulk</avenger_name>
    <avenger_name>Iron Man</avenger_name>
    <avenger_name>Black Widow</avenger_name>
    <avenger_name>Thor</avenger_name>
    <avenger_name>Captain America</avenger_name>
    <avenger_name>Hawkeye</avenger_name>
    <avenger_name>Winter Soldier</avenger_name>
    <avenger_name>Iron Patriot</avenger_name>
    You can query the fourth avenger_name element from the marvel_xml table with the following xquery statement:
    SELECT xml_table.query('/marvel[4]/avenger_name')
    FROM marvel_xml;
    It returns the following avenger_name element:
    <avenger_name>Thor</avenger_name>

    Hi Scott,
    The master database records all the system-level information for a SQL Server system, so best practise would be not to create any user-defined
    object within it.
    To change your default database(master by default) of your login to another, follow the next steps so that next time when connected you don't have to use "USE dbname" to switch database.
    Open SQL Server Management Studio
    --> Go to Object explorer(the left panel by default layout)
    --> Extend "Security"
    --> Extend "Logins"
    --> Right click on your login, click "propertites"
    --> Choose the "Default database" at the bottom of the pop-up window.
    --or simply by T-SQL
    Exec sp_defaultdb @loginame='yourLogin', @defdb='youDB'
    Regarding your question, you can reference the below.
    SELECT * FROM master.sys.all_objects where name ='Marvel'
    --OR
    SELECT OBJECT_ID('master.dbo.Marvel') --if non empty result returns, the object exists
    --usually the OBJECT_ID is used if a if statement as below
    IF OBJECT_ID('master.dbo.Marvel') IS NOT NULL
    PRINT ('TABLE EXISTS') --Or some other logic
    What is the sys.all_objects? See
    here.
    If you have any question, feel free to let me know.
    Eric Zhang
    TechNet Community Support

  • Comparison of multiple column values with a single column value

    I have two separate tables say Tab1 and Tab2
    I want to select some datas , which is common to both the tables.
    In tab1 , there is a column 'STATE' and it's value is 'A'
    In tab2, there are multiple columns for the state, say STATE_A,STATE_B, STATE_C ETC and a row is present with the following details
    STATE_A = 1, STATE_B =1 ,STATE_C =0,STATE_D=1
    I need to select STATE when STATE_A ='1',
    if my STATE='B', this STATE has to be selected since STATE_B =' 1', similraly
    if my STATE='D', this STATE has to be selected since STATE_D =' 1',
    If my STATE='C', STATE_C should not get selected since it's '0'.
    Is it possible to do this in a single SELECT statement, where I have some other checks also or else how can I achieve it?

    Maybe this will help
    Select * from STATE_MAS ;
    STATE
    A
    B
    D
    F
    H
    Select * from STATE_CHILD
      STATE_A   STATE_B   STATE_C   STATE_D   STATE_E   STATE_F   STATE_G   STATE_H   STATE_I   STATE_J
            1         0         0         1         1         0         0         0         0         0
    CREATE OR REPLACE FUNCTION GET_STATE (P_VAL VARCHAR) RETURN NUMBER IS
    V_SQL VARCHAR2(200);
    V_COL VARCHAR2(35);
    P_RETURN NUMBER ;
    BEGIN
    V_COL := 'STATE_'||P_VAL;
    V_SQL := 'SELECT 1 FROM STATE_CHILD WHERE '||V_COL||' = 1 ';
    EXECUTE IMMEDIATE  V_SQL INTO P_RETURN ;
    RETURN P_RETURN ;
    END;
    SELECT STATE FROM STATE_MAS
    WHERE GET_STATE(STATE) = 1 ;
    STATE
    A
    D

Maybe you are looking for

  • In Mainstage, triggering a loop made in Logic 8

    Anyone have any tips on how to do this? Basically it'd be nice if I could, while in Mainstage I, trigger a software instrument region or an audio region that I made in Logic 8 by hitting a key on my MIDI controller. I don't really want to trigger a l

  • Animated Gif file in Photoshop says 990kb, in the Finder it's 1.7mb.  Solutions?

    Can I see how large the file will actually be in the Save for Web dialog --  so I can set the lossy and settings appropriately?  Why would the file double in size from what's indicated in the Save For Web dialog?  What can I do to see the correct siz

  • Scheduling in Planned order

    Dear All, When I am creating a planned order thro MD11 and scheduling it, it is picking only one operation from the routing of the material for which the plnd order is created. What could be the reason for this? Manisha

  • Lost HD image in Finder window

    I've lost a the image of my Hard Drive in the upper left hand corner of my finder window and don't know how to get it back. I must have inadvertantly made it go poof one day. It does show up when I open Disk Utility, but I can't figure out what to do

  • Can you find my stolen laptop

    Can you find via purchase receipt my laptop