2017-01-16 58 views
1

Itzik Ben-Ganの書籍「TSQL Fundamentals」に次のコードがあります。関数OBJECT_IDの第2引数

私は、特定のオブジェクトが存在するかどうかを確認するために、関数OBJECT_IDが使用されることを理解します。しかし、私は少し第二引数のN'U'で混乱しています。

私はMSDN documentationを検索し、2番目の引数がオブジェクトタイプを表していると言いますが、まだN'U'が意味することは分かりません。

誰かが実際に表していることを説明してもらえますか?

IF OBJECT_ID(N'dbo.Employees', N'U') IS NOT NULL 
BEGIN 
    IF OBJECTPROPERTY(OBJECT_ID(N'dbo.Employees', N'U'), N'TableTemporalType') = 2 
     ALTER TABLE dbo.Employees SET(SYSTEM_VERSIONING = OFF); 

答えて

4

ページにリンクをたどる場合は、types: sys.objects

U =表(ユーザ定義)

全リスト(2017年1月16日のようにリンクされています)

オブジェクトタイプ:

AF =集計関数(CLR)

C = CHECK制約

D = DEFAULT(制約またはスタンドアロン)

F = FOREIGN KEY制約

FN = SQLスカラー関数

FS =アセンブリ(CLR)スカラー関数

FT = Asse mbly(CLR)テーブル値関数

= SQLインラインテーブル値関数IF

、内部テーブルを=

P = SQLストアドプロシージャ

がPC =アセンブリ(CLR)ストアドプロシージャ

PG =プランガイド

PK = PRIMARY KEY制約

SO

R =ルール(古い形式、スタンドアロン)

RF =レプリケーション・フィルタ・プロシージャ

S =システムベーステーブル

SN =シノニム

= Sequenceオブジェクト

対象:SQL Server 2012からSQL Server 2016。

SQ =サービスキュー

TA =アセンブリ(CLR)DMLトリガー

TF = SQLテーブル値関数

TR = SQL DMLトリガー

TT =表タイプ

U =表(ユーザ定義)

UQ = UNIQUE制約

V =ビュー

X =拡張ストアドプロシージャ

適用対象:SQL Serverの2016 SQL Serverの2016年、AzureのSQL データベース、AzureのSQLデータウェアハウス、パラレルデータウェアハウス。

ET =外部表

1
SELECT DISTINCT type,type_desc FROM sys.objects 
 
type type_desc 
---- ------------------------------------------------------------ 
TT TYPE_TABLE 
FN SQL_SCALAR_FUNCTION 
SN SYNONYM 
IF SQL_INLINE_TABLE_VALUED_FUNCTION 
UQ UNIQUE_CONSTRAINT 
SQ SERVICE_QUEUE 
F FOREIGN_KEY_CONSTRAINT 
U USER_TABLE 
D DEFAULT_CONSTRAINT 
PK PRIMARY_KEY_CONSTRAINT 
V VIEW 
S SYSTEM_TABLE 
IT INTERNAL_TABLE 
P SQL_STORED_PROCEDURE 
TF SQL_TABLE_VALUED_FUNCTION 
関連する問題