Why OBJECT_ID used while checking if a table exists or not

后端 未结 4 1471
渐次进展
渐次进展 2021-01-30 06:48

I need to check if a table in SQL exist or not.

If not it must create one automatically.

Now I researched and found this code:

IF  NOT EXISTS (SE         


        
4条回答
  •  心在旅途
    2021-01-30 07:45

    I like this syntax:

    if(object_id(N'[dbo].[YourTable]', 'U') is not null)
    ...
    

    Where object_id takes the 2 char type of object as the second parameter. You can find the list of Object types listed below in the sys.objects documentation:

    • AF = Aggregate function (CLR)
    • C = CHECK constraint
    • D = DEFAULT (constraint or stand-alone)
    • F = FOREIGN KEY constraint
    • FN = SQL scalar function
    • FS = Assembly (CLR) scalar-function
    • FT = Assembly (CLR) table-valued function
    • IF = SQL inline table-valued function
    • IT = Internal table
    • P = SQL Stored Procedure
    • PC = Assembly (CLR) stored-procedure
    • PG = Plan guide
    • PK = PRIMARY KEY constraint
    • R = Rule (old-style, stand-alone)
    • RF = Replication-filter-procedure
    • S = System base table
    • SN = Synonym
    • SO = Sequence object
    • SQ = Service queue
    • TA = Assembly (CLR) DML trigger
    • TF = SQL table-valued-function
    • TR = SQL DML trigger
    • TT = Table type
    • U = Table (user-defined)
    • UQ = UNIQUE constraint
    • V = View
    • X = Extended stored procedure

提交回复
热议问题