當前位置:成語大全網 - 書法字典 - 當SQL創建約束時,給它們命名的目的是什麽?怎麽用?約束名稱存在於何處?

當SQL創建約束時,給它們命名的目的是什麽?怎麽用?約束名稱存在於何處?

給約束命名。目的是以後可以更方便的刪除。

否則妳得自己去查數據字典表。

比如下面這個例子。

唯壹約束的名稱?什麽事?t_123,?所以當我不需要這個約束時,

如果我知道名字,我可以刪除它。

- ?創建壹個測試表。

創造?桌子?test_123?(

idINT,

價值?VARCHAR(10)

);

- ?創造?獨壹無二?限制。

塗改?桌子?測試_123

補充?約束?t_123?獨壹無二?(值);

- ?刪除?獨壹無二?限制。

塗改?桌子?[test_123]?

下降?約束?[t _ 123];

如果我不知道約束的名稱,那麽我需要查找數據字典表。

挑選

tab.name?作為?[表格名稱],

idx.name?作為?[約束名稱],

列名?作為?[約束列名]

sys.indexes?idx

加入?sys.index_columns?idxCol?

開?(idx.object_id?=?idxCol.object_id?

然後呢。idx.index_id?=?idxCol.index_id?

然後呢。idx.is_unique_constraint?=?1)

加入?sys.tables?標簽

開?(idx.object_id?=?選項卡.對象標識)

加入?sys.columns?山口

開?(idx.object_id?=?列對象標識

然後呢。idxCol.column_id?=?col . column _ id);查詢約束名稱後,?立即刪除此約束。

上面的SQL語句,?SQL?服務器?2008快遞?下壹個測試通過了。

在其他數據庫中,因為數據字典表不同,所以語句也不同。