天天看點

OBJECT_ID和OBJECTPROPERTY

OBJECT_ID和OBJECTPROPERTY   

2009-12-06 18:26:55|  分類: 預設分類 |  标簽: |字号大中小 訂閱

一.OBJECT_ID

傳回資料庫對象辨別号。

文法

OBJECT_ID ( 'object' )

例如:USE master

SELECT OBJECT_ID('pubs..authors')

檢視pubs資料庫裡的authors表的object_id。

二.OBJECTPROPERTY

傳回目前資料庫中對象的有關資訊。

文法

OBJECTPROPERTY ( id , property )

例如:OBJECTPROPERTY ( object_id('authors'),'ISTABLE') = 1

判斷authors對象是否是一個表。

在查詢器裡輸入:

use dye

       select objectproperty(object_id('dbo.arranging'),'IsUserTable')

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

結果:(所影響的行數為 1 行)

========================================================================================

1.object_id(N'表名')

請問:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

中的object_id(N'[dbo].[PerPersonData]')是什麼意思?那個object_id函數?那個N?

還有OBJECTPROPERTY(id, N'IsUserTable') = 1中的OBJECTPROPERTY函數是什麼意思?那個=1又是什麼意思?

OBJECT_ID:傳回資料庫對象辨別号。N是顯式的将非unicode字元轉成unicode字元,它來自 SQL-92 标準中的 National(Unicode)資料類型,用于擴充和标準化,在這裡可以不用,寫作object_id(PerPersonData)。

OBJECTPROPERTY:傳回目前資料庫中對象的有關資訊。1表“真”。同樣可以寫成OBJECTPROPERTY(id, sUserTable) = 1。

整條語句的意思是判斷資料庫裡有沒有存在PerPersonData這樣一張表。

=====================================================================

2.SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[#TEMPID1]') AND type in (N'U')

sys.objects ,OBJECT_ID(N'[dbo].[#TEMPID1]'); type in (N'U');各部分什麼意思?誰能解釋下?

答案:sys.ojects是一張表名

           oject_id是取對象的ID

          N表示使用Union Code,防止亂碼。

 ==================================================================================

3. OBJECT_ID ('student', 'U')是什麼意思 在SQL裡

IF OBJECT_ID ('student', 'U') IS NOT NULL U 是什麼意思

OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]

        object_name' [ ,'object_type' ] )

Object type:

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

SQ = Service queue

TA = Assembly (CLR) DML trigger

TF = SQL table-valued-function

TR = SQL DML trigger

U = Table (user-defined)

UQ = UNIQUE constraint

V = View

X = Extended stored procedure