SnowConvert: Transact 시스템 테이블

시스템 테이블

Transact-SQLSnowflake SQLNotes
SYS.ALL_VIEWSINFORMATION_SCHEMA.VIEWS
SYS.ALL_COLUMNSINFORMATION_SCHEMA.COLUMNS
SYS.COLUMNSINFORMATION_SCHEMA.COLUMNS
SYS.OBJECTSINFORMATION_SCHEMA.OBJECT_PRIVILEGES
SYS.PROCEDURESINFORMATION_SCHEMA.PROCEDURES
SYS.SEQUENCESINFORMATION_SCHEMA.SEQUENCES
SYS.ALL_OBJECTSINFORMATION_SCHEMA.OBJECT_PRIVILEGES
ALL_PARAMETERSNot supported
SYS.ALL_SQL_MODULESNot supported
SYS.ALLOCATION_UNITSNot supported
SYS.ASSEMBLY_MODULESNot supported
SYS.CHECK_CONSTRAINTSNot supported
SYS.COLUMN_STORE_DICTIONARIESNot supported
SYS.COLUMN_STORE_ROW_GROUPSNot supported
SYS.COLUMN_STORE_SEGMENTSNot supported
SYS.COMPUTED_COLUMNSNot supported
SYS.DEFAULT_CONSTRAINTSNot supported
SYS.EVENTSNot supported
SYS.EVENT_NOTIFICATIONSNot supported
SYS.EVENT_NOTIFICATION_EVENT_TYPESNot supported
SYS.EXTENDED_PROCEDURESNot supported
SYS.EXTERNAL_LANGUAGE_FILESNot supported
SYS.EXTERNAL_LANGUAGESNot supported
SYS.EXTERNAL_LIBRARIESNot supported
SYS.EXTERNAL_LIBRARY_FILESNot supported
SYS.FOREIGN_KEYSINFORMATION_SCHEMA.TABLE_CONSTRAINTS
SYS.FOREIGN_KEY_COLUMNSNot supported
SYS.FUNCTION_ORDER_COLUMNSNot supported
SYS.HASH_INDEXESNot supported
SYS.INDEXESNot supported
SYS.INDEX_COLUMNSNot supported
SYS.INDEX_RESUMABLE_OPERATIONSNot supported
SYS.INTERNAL_PARTITIONSNot supported
SYS.INTERNAL_TABLESNot supported
SYS.KEY_CONSTRAINTSNot supported
SYS.MASKED_COLUMNSNot supported
SYS.MEMORY_OPTIMIZED_TABLES_INTERNAL_ATTRIBUTESNot supported
SYS.MODULE_ASSEMBLY_USAGESNot supported
SYS.NUMBERED_PROCEDURESNot supported
SYS.NUMBERED_PROCEDURE_PARAMETERSNot supported
SYS.PARAMETERSNot supported
SYS.PARTITIONSNot supported
SYS.PERIODSNot supported
SYS.SERVER_ASSEMBLY_MODULESNot supported
SYS.SERVER_EVENTSNot supported
SYS.SERVER_EVENTT_NOTIFICATIONSNot supported
SYS.SERVER_SQL_MODULENot supported
SYS.SERVER_TRIGGERSNot supported
SYS._SERVER_TRIGGER_EVENTSNot supported
SYS.SQL_DEPENDENCIESNot supported
SYS.SQL_EXPRESSION_DEPENDENCIESNot supported
SYS.SQL_MODULESNot supported
SYS.STATSNot supported
SYS.STATS_COLUMNSNot supported
SYS.SYNONYMSNot supported
SYS.SYSTEM_COLUMNSNot supported
SYS.SYSTEM_OBJECTSNot supported
SYS.SYSTEM_PARAMETERSNot supported
SYS.SYSTEM_SQL_MODULES"Not supported

알려진 문제

문제가 발견되지 않았습니다.

SYS.FOREIGN_KEYS

Applies to
  • [x] SQL 서버

  • [x] Azure 시냅스 분석

참고

출력 코드의 일부 부분은 명확성을 위해 생략되었습니다.

설명

오브젝트 당 FOREIGN KEY 제약 조건인 행을 포함합니다(SQLServer 설명서).

FOREIGN KEY (sys.foreign_keys)의 열은 다음과 같습니다.

Column nameData typeDescriptionHas equivalent column in Snowflake
<Columns inherited from sys.objects>-For a list of columns that this view inherits, see sys.objects (Transact-SQL).Partial
referenced_object_idintID of the referenced object.No
key_index_idintID of the key index within the referenced object.No
is_disabledbitFOREIGN KEY constraint is disabled.No
is_not_for_replicationbitFOREIGN KEY constraint was created by using the NOT FOR REPLICATION option.No
is_not_trustedbitFOREIGN KEY constraint has not been verified by the system.No
delete_referential_actiontinyintThe referential action that was declared for this FOREIGN KEY when a delete happens. See SQLServer Documentation.No
delete_referential_action_descnvarchar(60)Description of the referential action that was declared for this FOREIGN KEY when a delete occurs. See SQLServer Documentation.No
update_referential_actiontinyintThe referential action that was declared for this FOREIGN KEY when an update happens. See SQLServer Documentation.No
update_referential_action_descnvarchar(60)Description of the referential action that was declared for this FOREIGN KEY when an update happens. See SQLServer Documentation.No
is_system_namedbit

1 = Name was generated by the system.

0 = Name was supplied by the user.

No

sys.objects 에서 상속된 열은 다음과 같습니다.

자세한 내용은 sys.objects 설명서 를 참조하십시오.

Column nameData typeDescriptionHas equivalent column in Snowflake
namesysnameObject name.Yes
object_idintObject identification number. Is unique within a database.No
principal_idintID of the individual owner, if different from the schema owner.No
schema_idintID of the schema that the object is contained in.No
parent_object_idintID of the object to which this object belongs.No
typechar(2)Object typeYes
type_descnvarchar(60)Description of the object typeYes
create_datedatetimeDate the object was created.Yes
modify_datedatetimeDate the object was last modified by using an ALTER statement.Yes
is_ms_shippedbitObject is created by an internal SQL Server component.No
is_publishedbitObject is created by an internal SQL Server component.No
is_schema_publishedbitOnly the schema of the object is published.No

이 경우 sys.foreign_keys의 경우 Snowflake에 동등성이 없다는 점에 유의하십시오. 그러나 동등성은 sys.objects에서 상속된 열에서 기본적으로 생성됩니다.

애플리케이션 열 등가성

SQLServerSnowflakeLimitationsApplicable
nameCONSTRAINT_NAMENames auto-generated by the database may be reviewed to the target Snowflake auto-generated name,Yes
typeCONSTRAINT_TYPEThe type column has a variety of options. But, in this case, the support is only for the letter 'F' which represents the foreign keys.No. Because of the extra validation to determine the foreign keys from all table constraints, it is not applicable.
type_descCONSTRAINT_TYPENo limitions found.No. Because of the extra validation to determine the foreign keys from all table constraints, it is not applicable.
create_dateCREATEDData type differences.Yes
modify_dateLAST_ALTEREDData type differences.Yes
parent_object_idCONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAMEColumns are generated only for the cases that use the OBJECT_ID() function and, the name has a valid pattern.Yes
SQL 서버의 구문
 SELECT ('column_name' | * )
FROM sys.foreign_keys;
Copy
Snowflake의 구문
 SELECT ('column_name' | * )
FROM information_schema.table_constraints 
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy

참고

시스템 외래 키에 대한 등가물은 Snowflake의 카탈로그 뷰에서 ormation_schema.table_constraints이므로, 다른 제약 조건에서 외래 키 제약 조건을 식별하려면 추가 ‘WHERE’ 절에서 제약 조건의 유형을 정의해야 합니다.

샘플 소스 패턴

다음 샘플(패턴 번호 3 제외)을 올바르게 수행하려면 다음 문을 실행해야 합니다.

 CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
);

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
    CONSTRAINT FK_Name_Test FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);


INSERT INTO Customers (CustomerID, FirstName, LastName, Email)
VALUES
    (1, 'John', 'Doe', 'john.doe@example.com'),
    (2, 'Jane', 'Smith', 'jane.smith@example.com');

INSERT INTO Orders (OrderID, CustomerID, OrderDate, TotalAmount)
VALUES
    (101, 1, '2023-09-01', 100.50),
    (102, 1, '2023-09-02', 75.25),
    (103, 2, '2023-09-03', 50.00);
Copy
 CREATE OR REPLACE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
;

CREATE OR REPLACE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
       CONSTRAINT FK_Name_Test FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID)
   )
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
;

INSERT INTO Customers (CustomerID, FirstName, LastName, Email)
VALUES
    (1, 'John', 'Doe', 'john.doe@example.com'),
    (2, 'Jane', 'Smith', 'jane.smith@example.com');

INSERT INTO Orders (OrderID, CustomerID, OrderDate, TotalAmount)
VALUES
    (101, 1, '2023-09-01', 100.50),
    (102, 1, '2023-09-02', 75.25),
    (103, 2, '2023-09-03', 50.00);
Copy

1. Simple Select Case

SQL 서버
 SELECT *
FROM sys.foreign_keys;
Copy
nameobject_idprincipal_idschema_idtypetype_desccreate_datemodify_dateparent_object_idis_ms_shippedis_publishedis_schema_publishedreferenced_object_idkey_index_idis_disabledis_not_for_replicationis_not_trusteddelete_referential_actiondelete_referential_action_descupdate_referential_actionupdate_referential_action_descis_system_named
FK_Name_Test1719677174NULL1FFOREIGN_KEY_CONSTRAINT2023-09-11 22:20:04.1602023-09-11 22:20:04.1601687677060falsetruefalse16556769461falsefalse0NO_ACTION0NO_ACTIONtrue
Snowflake
 SELECT *
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEIS_DEFERRABLEINITIALLY_DEFERREDENFORCEDCOMMENTCREATEDLAST_ALTEREDRELY
DBTESTPUBLICFK_Name_TestDATETESTPUBLICORDERSFOREIGN KEYNOYESNOnull2023-09-11 15:23:51.969 -07002023-09-11 15:23:52.097 -0700NO

경고

열 오브젝트의 차이와 누락된 동등성으로 인해 결과가 달라집니다. 결과를 확인할 수 있습니다.

2. Name Column Case

SQL 서버
 SELECT * FROM sys.foreign_keys WHERE name = 'FK_Name_Test';
Copy
nameobject_idprincipal_idschema_idtypetype_desccreate_datemodify_dateparent_object_idis_ms_shippedis_publishedis_schema_publishedreferenced_object_idkey_index_idis_disabledis_not_for_replicationis_not_trusteddelete_referential_actiondelete_referential_action_descupdate_referential_actionupdate_referential_action_descis_system_named
FK_Name_Test1719677174NULL1FFOREIGN_KEY_CONSTRAINT2023-09-11 22:20:04.1602023-09-11 22:20:04.1601687677060falsetruefalse16556769461falsefalse0NO_ACTION0NO_ACTIONtrue
Snowflake
 SELECT * FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
CONSTRAINT_NAME = 'FK_NAME_TEST'
AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEIS_DEFERRABLEINITIALLY_DEFERREDENFORCEDCOMMENTCREATEDLAST_ALTEREDRELY
DBTESTPUBLICFK_Name_TestDATETESTPUBLICORDERSFOREIGN KEYNOYESNOnull2023-09-11 15:23:51.969 -07002023-09-11 15:23:52.097 -0700NO

경고

제약 조건 이름이 데이터베이스에 의해 자동 생성되어 쿼리에 사용되는 경우 이 변환은 확인이 필요할 수 있습니다. 자세한 내용은 [문제 파악](./transact-system-tables.md#1-the-name-column-may-not-show-a-correct-output-if-the-constraint-does-not- have-a-user-created-name) 섹션을 검토하십시오.

3. Parent Object ID Case

이 예제에서는 서로 다른 동등한 열을 생성하기 위한 이름 처리의 예시를 보여주기 위해 데이터베이스와 스키마를 생성했습니다.

SQL 서버
 use database_name_test
create schema schema_name_test

CREATE TABLE schema_name_test.Customers (
    CustomerID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
);

CREATE TABLE schema_name_test.Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
    CONSTRAINT FK_Name_Test FOREIGN KEY (CustomerID) REFERENCES schema_name_test.Customers(CustomerID)
);

INSERT INTO schema_name_test.Customers (CustomerID, FirstName, LastName, Email)
VALUES
    (1, 'John', 'Doe', 'john.doe@example.com'),
    (2, 'Jane', 'Smith', 'jane.smith@example.com');

INSERT INTO schema_name_test.Orders (OrderID, CustomerID, OrderDate, TotalAmount)
VALUES
    (101, 1, '2023-09-01', 100.50),
    (102, 1, '2023-09-02', 75.25),
    (103, 2, '2023-09-03', 50.00);

SELECT * FROM sys.foreign_keys WHERE name = 'FK_Name_Test' AND parent_object_id = OBJECT_ID(N'database_name_test.schema_name_test.Orders')
Copy
nameobject_idprincipal_idschema_idtypetype_desccreate_datemodify_dateparent_object_idis_ms_shippedis_publishedis_schema_publishedreferenced_object_idkey_index_idis_disabledis_not_for_replicationis_not_trusteddelete_referential_actiondelete_referential_action_descupdate_referential_actionupdate_referential_action_descis_system_named
FK_Name_Test1719677174NULL1FFOREIGN_KEY_CONSTRAINT2023-09-11 22:20:04.1602023-09-11 22:20:04.1601687677060falsetruefalse16556769461falsefalse0NO_ACTION0NO_ACTIONtrue
Snowflake
 USE DATABASE database_name_test;

CREATE OR REPLACE SCHEMA schema_name_test
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"transact"}}'
;

CREATE OR REPLACE TABLE schema_name_test.Customers (
    CustomerID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"transact"}}'
;

CREATE OR REPLACE TABLE schema_name_test.Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
       CONSTRAINT FK_Name_Test FOREIGN KEY (CustomerID) REFERENCES schema_name_test.Customers (CustomerID)
   )
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"transact"}}'
;

INSERT INTO schema_name_test.Customers (CustomerID, FirstName, LastName, Email)
VALUES
    (1, 'John', 'Doe', 'john.doe@example.com'),
    (2, 'Jane', 'Smith', 'jane.smith@example.com');

INSERT INTO schema_name_test.Orders (OrderID, CustomerID, OrderDate, TotalAmount)
VALUES
    (101, 1, '2023-09-01', 100.50),
    (102, 1, '2023-09-02', 75.25),
    (103, 2, '2023-09-03', 50.00);

SELECT * FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    CONSTRAINT_NAME = 'FK_NAME_TEST'
    AND CONSTRAINT_CATALOG = 'DATABASE_NAME_TEST'
    AND CONSTRAINT_SCHEMA = 'SCHEMA_NAME_TEST'
    AND TABLE_NAME = 'ORDERS'
    AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEIS_DEFERRABLEINITIALLY_DEFERREDENFORCEDCOMMENTCREATEDLAST_ALTEREDRELY
DATABASE_NAME_TESTSCHEMA_NAME_TESTFK_Name_TestDATABASE_NAME_TESTSCHEMA_NAME_TESTORDERSFOREIGN KEYNOYESNOnull2023-09-11 15:23:51.969 -07002023-09-11 15:23:52.097 -0700NO

경고

OBJECT_ID() 함수 안에 오는 이름에 유효한 패턴이 없는 경우 특수 문자에 대한 이름 처리 제한으로 인해 변환되지 않습니다.

경고

Snowflake에서 사용 중인 데이터베이스를 검토합니다.

4. Type Column Case

SQL 서버의 ‘F’는 ‘외래 키’를 의미하며, 모든 테이블 제약 조건에서 외래 키를 지정하기 위해 마지막에 유효성 검사로 인해 제거됩니다.

SQL 서버
 SELECT * FROM sys.foreign_keys WHERE type = 'F';
Copy
nameobject_idprincipal_idschema_idtypetype_desccreate_datemodify_dateparent_object_idis_ms_shippedis_publishedis_schema_publishedreferenced_object_idkey_index_idis_disabledis_not_for_replicationis_not_trusteddelete_referential_actiondelete_referential_action_descupdate_referential_actionupdate_referential_action_descis_system_named
FK_Name_Test1719677174NULL3FFOREIGN_KEY_CONSTRAINT2023-09-11 22:20:04.1602023-09-11 22:20:04.1601687677060falsetruefalse16556769461falsefalse0NO_ACTION0NO_ACTIONtrue
Snowflake
 SELECT * FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    type = 'F' AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEIS_DEFERRABLEINITIALLY_DEFERREDENFORCEDCOMMENTCREATEDLAST_ALTEREDRELY
DBTESTPUBLICFK_Name_TestDATETESTPUBLICORDERSFOREIGN KEYNOYESNOnull2023-09-11 15:23:51.969 -07002023-09-11 15:23:52.097 -0700NO

5. Type Desc Column Case

‘type_desc’ 열은 모든 테이블 제약 조건에서 외래 키를 지정하기 위해 끝 부분의 유효성 검사로 인해 제거됩니다.

SQL 서버
 SELECT
    * 
FROM
    sys.foreign_keys 
WHERE 
    type_desc = 'FOREIGN_KEY_CONSTRAINT';
Copy
nameobject_idprincipal_idschema_idtypetype_desccreate_datemodify_dateparent_object_idis_ms_shippedis_publishedis_schema_publishedreferenced_object_idkey_index_idis_disabledis_not_for_replicationis_not_trusteddelete_referential_actiondelete_referential_action_descupdate_referential_actionupdate_referential_action_descis_system_named
FK_Name_Test1719677174NULL3FFOREIGN_KEY_CONSTRAINT2023-09-11 22:20:04.1602023-09-11 22:20:04.1601687677060falsetruefalse16556769461falsefalse0NO_ACTION0NO_ACTIONtrue
Snowflake
 SELECT
    *
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    type_desc = 'FOREIGN_KEY_CONSTRAINT' AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEIS_DEFERRABLEINITIALLY_DEFERREDENFORCEDCOMMENTCREATEDLAST_ALTEREDRELY
DBTESTPUBLICFK_Name_TestDATETESTPUBLICORDERSFOREIGN KEYNOYESNOnull2023-09-11 15:23:51.969 -07002023-09-11 15:23:52.097 -0700NO

6. Modify Date Column Simple Case

SQL 서버
 SELECT *
FROM sys.foreign_keys
WHERE modify_date = CURRENT_TIMESTAMP;
Copy
The query produced no results.

Copy
Snowflake
 SELECT *
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    LAST_ALTERED = CURRENT_TIMESTAMP()
    AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
The query produced no results.

Copy

7. Modify Date Column with DATEDIFF() Case

다음 예제에서는 sys.foreign_keys(sys.objects에서 상속된)의 열이 DATEDIFF 함수의 내부에 있는 보다 복잡한 시나리오를 보여줍니다. 이 경우 해당 등가물에 해당하는 인자는 Snowflake의 Information Schema에서 해당 열로 변경됩니다.

SQL 서버
 SELECT *
FROM sys.foreign_keys
WHERE DATEDIFF(DAY, modify_date, GETDATE()) <= 30;
Copy
The foreign keys altered in the last 30 days.

Copy
Snowflake
 SELECT *
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    DATEDIFF(DAY, LAST_ALTERED, CURRENT_TIMESTAMP() :: TIMESTAMP) <= 30
    AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
The foreign keys altered in the last 30 days.

Copy

8. Create Date Column Case

SQL 서버
 SELECT *
FROM sys.foreign_keys
WHERE create_date = '2023-09-12 14:36:38.060';
Copy
The foreign keys that were created on the specified date and time.

Copy
Snowflake
 SELECT *
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    CREATED = '2023-09-12 14:36:38.060'
    AND CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
The foreign keys that were created on the specified date and time.

Copy

경고

쿼리가 실행된 시간으로 인해 생성 날짜가 특정할 경우 결과가 변경될 수 있습니다. 원본 데이터베이스에서 지정된 쿼리를 한 번에 실행한 다음 새로운 Snowflake 쿼리에서 오브젝트를 다른 시간에 실행할 수 있습니다.

9. Selected Columns Single Name Case

SQL 서버
 SELECT name
FROM sys.foreign_keys;
Copy

이름

FK_Name_Test

Snowflake
 SELECT
    CONSTRAINT_NAME
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy

CONSTRAINT_NAME

FK_Name_Test

10. Selected Columns Qualified Name Case

SQL 서버
 SELECT
    fk.name
FROM sys.foreign_keys AS fk;
Copy

이름

FK_Name_Test

Snowflake
 SELECT
    fk.CONSTRAINT_NAME
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
WHERE
    CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy

CONSTRAINT_NAME

FK_Name_Test

Known Issues

1. The ‘name’ column may not show a correct output if the constraint does not have a user-created name

참조된 이름이 데이터베이스에서 자동 생성된 이름인 경우 이를 검토하여 원하는 값을 사용할 가능성이 높습니다.

2. When selecting columns, there is a limitation that depends on the applicable columns that are equivalent in Snowflake

Sys.foreign_keys의 열은 Snowflake에서 완전히 동일하지 않으므로 동등성 제한으로 인해 일부 결과가 변경될 수 있습니다.

3. The OBJECT_ID() function may have a valid pattern to be processed or the database, schema or table could not be extracted

OBJECT_ID() 함수를 수신하는 이름에 따라 이 이름의 처리는 형식에 따라 제한되고 종속성을 갖습니다.

4. Name Column With OBJECT_NAME() Function Case

OBJECT_NAME() 함수는 아직 지원되지 않으므로 이 함수와 관련된 변환은 지원되지 않습니다.

 SELECT name AS ForeignKeyName,
       OBJECT_NAME(parent_object_id) AS ReferencingTable,
       OBJECT_NAME(referenced_object_id) AS ReferencedTable
FROM sys.foreign_keys;
Copy
 SELECT
    name AS ForeignKeyName,
    !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'OBJECT_NAME' NODE ***/!!!
    OBJECT_NAME(parent_object_id) AS ReferencingTable,
    !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'OBJECT_NAME' NODE ***/!!!
    OBJECT_NAME(referenced_object_id) AS ReferencedTable
FROM
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
    CONSTRAINT_TYPE = 'FOREIGN KEY';
Copy
5. SCHEMA_NAME() and TYPE_NAME() functions are also not supported yet.
6. Different Join statement types may be not supported if the system table is not supported.
7. Cases with JOIN statements are not supported.
8. Names with alias AS are not supported.

관련 EWIs

  1. SSC-EWI-0073: 보류 중 함수 동등성 검토.