[SQL] 어떻게 2008 SQL Server의 사용자 정의 테이블 형식의 존재를 확인?
SQL어떻게 2008 SQL Server의 사용자 정의 테이블 형식의 존재를 확인?
나는 사용자 정의 테이블 형식을 가지고있다. 나는 OBJECT_ID (이름, 유형) 함수를 사용하여 패치에서 편집하기 전에 그것의 존재를 확인하시기 바랍니다.
열거에서 어떤 종류의 사용자 정의 테이블 형식에 전달해야?
N'U '사용자 정의 테이블이없는 작업, 즉 IF OBJECT_ID 않는 경우 (N'MyType처럼'N'U ')가 NULL이 아닌
해결법
-
==============================
1.당신은 sys.types 또는 사용 TYPE_ID에서 찾아보실 수 있습니다 :
당신은 sys.types 또는 사용 TYPE_ID에서 찾아보실 수 있습니다 :
IF TYPE_ID(N'MyType') IS NULL ...
그냥주의 : 사용 TYPE_ID는 유형이 테이블 유형인지 확인하지 않습니다 - 그 이름의 유형이 존재 그냥. 그렇지 않은 경우의 GBN 쿼리는 아마 더 좋다.
-
==============================
2.
IF EXISTS (SELECT * FROM sys.types WHERE is_table_type = 1 AND name = 'MyType') --stuff
sys.types ... 그들은 그렇게는 sys.objects에되지 않습니다 스키마 범위 개체가 없습니다
업데이트 2013 년 월
당신도 TYPE_ID을 사용할 수 있습니다
-
==============================
3.
IF EXISTS(SELECT 1 FROM sys.types WHERE name = 'Person' AND is_table_type = 1 AND SCHEMA_ID('VAB') = schema_id) DROP TYPE VAB.Person; go CREATE TYPE VAB.Person AS TABLE ( PersonID INT ,FirstName VARCHAR(255) ,MiddleName VARCHAR(255) ,LastName VARCHAR(255) ,PreferredName VARCHAR(255) );
-
==============================
4.NOT "is_table_type" "is_user_defined"예 나를 위해 작동에 따라, 제발 노트
NOT "is_table_type" "is_user_defined"예 나를 위해 작동에 따라, 제발 노트
IF TYPE_ID(N'idType') IS NULL CREATE TYPE [dbo].[idType] FROM Bigint NOT NULL go IF not EXISTS (SELECT * FROM sys.types WHERE is_user_defined = 1 AND name = 'idType') CREATE TYPE [dbo].[idType] FROM Bigint NOT NULL go
-
==============================
5.또한 시스템 table_types 볼 수 있습니다
또한 시스템 table_types 볼 수 있습니다
IF EXISTS (SELECT * FROM [sys].[table_types] WHERE user_type_id = Type_id(N'[dbo].[UdTableType]')) BEGIN PRINT 'EXISTS' END
from https://stackoverflow.com/questions/2495119/how-to-check-existence-of-user-define-table-type-in-sql-server-2008 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 가입 왼쪽 외부에서 반환 된 기본 널 값을 교체 (0) | 2020.07.23 |
---|---|
[SQL] 포스트 그레스에서 행 번호를 선택 (0) | 2020.07.23 |
[SQL] CodeIgniter는 $ this-> DB->의 get (), 어떻게 특정 행에 대한 값을 반환합니까? (0) | 2020.07.23 |
[SQL] 사거리 표 디자인 - 많은 관계 디자인에 많은 (0) | 2020.07.23 |
[SQL] ORA-00054 : NOWAIT와 자원 바쁜 취득 지정 (0) | 2020.07.23 |