日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

sql server 中刪除默認(rèn)約束的通用sql腳本_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:詳解SQL Server與ASP互操作的時間處理
在編程時你一定碰到過時間觸發(fā)的事件,在VB中有timer控件,而ASP中沒有,假如你要不停地查詢數(shù)據(jù)庫來等待一個返回結(jié)果的話,我想你一定知道,它會耗費(fèi)大量的CPU資源,如果和我所說的一樣,而你又沒更好的解決辦法,可以參照下面的做法: set cnn=server.crea

在SQL Server 中,如果給表的一個字段設(shè)置了默認(rèn)值,就會在系統(tǒng)表sysobjects中生成一個默認(rèn)約束。
如果想刪除這個設(shè)置了默認(rèn)值的字段(假設(shè)此字段名column1),執(zhí)行“ALTER TABLE table1 DROP COLUMN column1”時就會報錯:

以下為引用的內(nèi)容:

The object 'DF__xxxxxxxxxxx' is dependent on column 'column1'.
ALTER TABLE DROP COLUMN column1failed because one or more objects access this column.

所以在刪除此字段時需要先將系統(tǒng)表中的對應(yīng)默認(rèn)約束刪除, 可以使用下面的腳本進(jìn)行刪除:

以下為引用的內(nèi)容:

-- this script drops the default constraint which is generated by the setting of default value.
DECLARE @tablename VARCHAR(100), @columnname VARCHAR(100), @tab VARCHAR(100)
SET @tablename='CountryGroupEmailAndWaitAux'
SET @columnname='actionOfHasNoValidEmail'

declare @defname varchar(100)
declare @cmd varchar(100)

select @defname = name
FROM sysobjects so
JOIN sysconstraints sc
ON so.id = sc.constid
WHERE object_name(so.parent_obj) = @tablename
AND so.xtype = 'D'
AND sc.colid =
(SELECT colid FROM syscolumns
WHERE id = object_id(@tablename) AND
name = @columnname)

select @cmd='alter table ' @tablename ' drop constraint ' @defname
if @cmd is null print 'No default constraint to drop'
exec (@cmd)

在刪除對應(yīng)的默認(rèn)約束后,執(zhí)行:

ALTER TABLE table1 DROP COLUMN column1

即可刪除字段。

分享:解讀SQL Server與Oracle數(shù)據(jù)庫在安全性上的異同
在業(yè)界,普遍認(rèn)為Oracle數(shù)據(jù)庫的安全性要比SQL Server數(shù)據(jù)庫高。下面筆者就來談?wù)勥@兩種數(shù)據(jù)庫在安全性設(shè)計上面的異同。掌握好這些內(nèi)容,對于我們進(jìn)行數(shù)據(jù)庫安全方面的設(shè)計與管理,有著舉足輕重的作用。 一、角色到用戶的授權(quán)。 現(xiàn)在很多應(yīng)用軟件,包括數(shù)據(jù)

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-07-04
相關(guān)Mssql數(shù)據(jù)庫教程