0 t-sql sql-server system-views
我可以在系统定义中进行更改,views例如我想添加一个column将提供已foreign_key应用的列名称吗?
喜欢,改变sys.foreign_key_columns.
请提供脚本或来源.
Jer*_*ert 12
Microsoft将告诉您无法更改系统视图的定义.这在大多数情况下都不是这样(毕竟,微软自己可以通过升级来实现)但是作为用户,你不应该这样做是非常正确的,而且这样做的必要步骤是(故意的) ) 非常复杂.如果您确实成功更改了系统视图,则服务器不再受支持,您可能无法安装将来的更新.基本上,不要走这条路.
作为一种更实用的方法,请考虑将系统视图包装在您自己的视图中并使用它们.如果要在所有新数据库中提供这些视图,可以将它们添加到model数据库中.
对于视图的特定情况,该视图还包括外键所引用的列的名称,这里是一个将执行该作业的视图(并且通常是外键的友好视图):
CREATE VIEW ext_foreign_keys AS
SELECT
OBJECT_NAME(constraint_object_id) AS foreign_key_name,
OBJECT_NAME(parent_object_id) AS parent_table_name,
COL_NAME(parent_object_id, parent_column_id) AS parent_column_name,
OBJECT_NAME(referenced_object_id) AS referenced_table_name,
COL_NAME(referenced_object_id, referenced_column_id) AS referenced_column_name
FROM sys.foreign_key_columns
Run Code Online (Sandbox Code Playgroud)
如果您需要sys.foreign_keys自己的数据,请将其加入.我在这里偷懒通过使用系统功能OBJECT_NAME和COL_NAME; 如果你愿意,你也可以加入明确的sys.tables和sys.columns,虽然这是一个很大更多的输入.你可能想要这样做,因为在使用这些函数时存在锁定的微妙问题.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |