gpt4 book ai didi

SQL Server 和 postgresql 中的 SQL 标准

转载 作者:行者123 更新时间:2023-11-29 11:43:34 25 4
gpt4 key购买 nike

有人能向我解释为什么这个语句返回的列在 SQL Server 中是 FK 但在 postgresql 中什么都不返回吗?

表在两个 RDBMS 上是相同的并且有 FKs

select * 
from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu,
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
where ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
and ccu.TABLE_NAME = 'table_name'
and tc.CONSTRAINT_TYPE = 'FOREIGN KEY';

最佳答案

似乎 SQL Server 存储“传出”外键,而 PostgreSQL 存储“传入”外键。

SQL Server 示例:http://sqlfiddle.com/#!6/57493/3
PostgreSQL 示例:http://sqlfiddle.com/#!12/57493/5

不幸的是,ANSI 标准没有说明哪一个是正确的。它只是说:

TABLE_CONSTRAINTS base table

The values of CONSTRAINT_TYPE have the following meanings:
FOREIGN KEY: The constraint being described is a foreign key constraint.
...

关于SQL Server 和 postgresql 中的 SQL 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com