select 主表名=object_name(b.rkeyid)
,主鍵列id=b.rkey
,主鍵列名=(select name from syscolumns where colid=b.rkey and id=b.rkeyid)
,外來鍵表id=b.fkeyid
,外來鍵表名稱=object_name(b.fkeyid)
,外來鍵列id=b.fkey
,外來鍵列名=(select name from syscolumns where colid=b.fkey and id=b.fkeyid)
,級聯更新=objectproperty(a.id,'cnstisupdatecascade')
,級聯刪除=objectproperty(a.id,'cnstisdeletecascade')
from sysobjects a
join sysforeignkeys b on a.id=b.constid
join sysobjects c on a.parent_obj=c.id
where a.xtype='f' and c.xtype='u'
要看指定表的話,就用下面的**:
select 主鍵列id=b.rkey
,主鍵列名=(select name from syscolumns where colid=b.rkey and id=b.rkeyid)
,外來鍵表id=b.fkeyid
,外來鍵表名稱=object_name(b.fkeyid)
,外來鍵列id=b.fkey
,外來鍵列名=(select name from syscolumns where colid=b.fkey and id=b.fkeyid)
,級聯更新=objectproperty(a.id,'cnstisupdatecascade')
,級聯刪除=objectproperty(a.id,'cnstisdeletecascade')
from sysobjects a
join sysforeignkeys b on a.id=b.constid
join sysobjects c on a.parent_obj=c.id
where a.xtype='f' and c.xtype='u'
and object_name(b.rkeyid)='tb'
也可以用系統的儲存過程:
查主鍵:sp_pkeys '表名'
查外健:sp_fkeys '表名'
如何更改SQL Server物件所有者
執行這個語句,就可以把當前庫的所有表的所有者改為dbo exec sp msforeachtable sp changeobjectowner dbo 如果是要使用者表 儲存過程 檢視 觸發器 自定義函式一齊改,則用游標 不要理會錯誤提示 declare tb cursor local for se...
C 獲取所有SQL Server的資料庫例項名稱
獲取指定ip位址的資料庫所有資料庫例項名。指定的 ip 位址。登入資料庫的使用者名稱。登陸資料庫的密碼。返回包含資料例項名的列表。private arraylist getalldatabase string ip,string username,string password initial ca...
C 獲取所有SQL Server資料庫名稱的方法
連線到master庫中,執行 select name from master.sysdatabases sp helpdb也可以列出資料名,但不是全部,sp helpdb是會根據當前使用者角色找出相應的資料庫,而用sysdatabases表則只要有許可權訪問該錶就能查出所有資料庫資訊。預設情況下,s...