国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

在SQL和ERWIN中用自定義類型、規則和默認值實現check約束從而保證數據的完整性

2024-07-21 02:07:25
字體:
來源:轉載
供稿:網友

最大的網站源碼資源下載站,


一、用sql語句來實現自定類型和規則實現check約束從而保證數據的完整性
==創建自定義類型并綁定規則=========================================================
/*創建一個名為list的規則,這條規則表明變量只能取0和1兩個值*/
create rule list
        as @col in (0,1)
go

/*創建一個自定義的數據類型,它是int類型的子類型*/
exec sp_addtype intswitch, "int", "not null"
/*把規則list綁定到自定義類型intswitch上去*/
exec sp_bindrule list, intswitch
go

/*創建一個名叫mytest的表,其中有一個字段on_or_off為自定義的intswitch類型*/
create table mytest (
       on_or_off   intswitch
)
go

在sql的查詢分析器中運行上面這行代碼,則在數據庫中產生了一個名叫intswitch的自定義的數據類型,它是int類型的一個子集,該類型的數據只能取0或1這兩個值。同時數據庫中還生成了一個名叫mytest的表,表中有一個intswitch的類型的字段on_or_off,它只能取0或1這兩個值,而且不能為空。
打開sql2000的企業管理器,分別在表、規則和用戶自定義類型中查看,就可以看到以上的信息。

==取消綁定的規則并刪除自定義類型============================================================
  要想取消以上的操作:
/*取消規則在自定義類型上的綁定*/
exec sp_unbindrule intswitch
/*刪除規則*/
drop rule list
/*要先保證沒有字段使用自定義類型才可以刪除自定義類型,可以到企業管理器的“用戶自定義類型”里查看有哪些字段在使用這個自定義類型*/
/*在表mytest的設計視圖中將on_or_off字段的類型設為其它類型,如int型*/
/*刪除自定義類型*/
exec sp_droptype 'intswitch'

二、在erwin中設置域來實現check約束從而保證數據的完整性
  1、在erwin的domains里新建一個名叫intswitch的域,其父域為number(在general選項卡的domain parant里設置)
  2、打開sql server選項卡,在null option處設置該域是不是允許取空值;在valid處打開對話框,新建一個名叫list的規則(如果合適的規則已存在,可以在下拉列表中選取就可以了)。----給新建的規則取個名字,然后可以用三種方式來定義這個規則:(1)用戶自定義,就像上面的例子給出的那樣,選中“user-define”然后自己輸入,輸入的格式是:@局部變量名 表達式 ;(2)min/max方式,設置一個最大和最小值,確定一個范圍;(3)valid value中設置幾個有效值就可以了。
3、確定以后一個名為intswitch的綁定了規則list的域就生成了。

用tool-->forwardenginerr/schema generation...導出sql代碼看一下,和上面的代碼完全相同。

三、可以設置一個默認值
  道理是和上面一樣的。
/*創建規則*/
create rule list
        as @col in (0,1)
go
/*創建一個默認值*/
create default switchvalue
        as 0
go
/*創建自定義類型*/
exec sp_addtype intswitch, "int", "not null"
/*把創建的默認值綁定到創建的自定義類型上*/
exec sp_bindefault switchvalue, intswitch
/*將規則綁定到自定義類型上*/
exec sp_bindrule list, intswitch
go

同樣的道理,要取消默認值的綁定則:
exec sp_unbindefault intswitch
然后,再刪除默認值:
drop default switchvalue

在erwin中為一個域建立默認值就更簡單了,只要在defaut處打開一個對話框,然后新建一個默認值,起一個名字,如“switchvalue”,然后在sql server選項卡的server value--sql server default處輸入默認值就可以了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 高清| 武平县| 乃东县| 山西省| 孝义市| 八宿县| 湄潭县| 郴州市| 独山县| 淅川县| 西畴县| 拉孜县| 金湖县| 新源县| 灯塔市| 长兴县| 广宁县| 扶沟县| 建水县| 寻乌县| 来安县| 霍城县| 城口县| 巴楚县| 菏泽市| 津南区| 松溪县| 陆川县| 凤山市| 淄博市| 吴川市| 昭苏县| 隆安县| 满洲里市| 鞍山市| 南平市| 文化| 新田县| 鹿泉市| 宝清县|