SQL Server 2005 修改表結構

2021-05-23 15:24:09 字數 1468 閱讀 7129

--為表新增具有預設值的一列

if not exists(select * from syscolumns where [name]='website'

and objectproperty(id,'isusertable')=1 and object_name(id)='tbbrowser')

begin

alter table [tbbrowser] add [website] nvarchar(50) default('')

end 

--刪除表中的一列在沒有預設值約束的情況下刪除

if exists(select * from syscolumns where [name]='website'

and objectproperty(id,'isusertable')=1 and object_name(id)='tbbrowser')

begin

alter table [tbbrowser] drop  column  [website]

end

--如果刪除列存在預設值約束則首先刪除約束再刪除列

alter table [tbbrowser] drop constraint  df__tbbrowser__websi__060deae8

--假如你不知道預設約束的名字 你可以直接執行刪除表中的列,然後檢視錯誤提示,就可找到約束名稱,然後執行正常操作先刪除預設約束

--也可使用系統自帶的查詢約束條件的儲存過程,然後你就可以看到你需要刪除的列的約束的名稱

exec sp_helpconstraint [tbbrowser]

--表中新增的新列是否可以為空

alter table  table_name  add  column_name  data_type  null [not null]

--修改表中列的資料型別

alter table table_name alter column column_name  new_data_type

--判斷要新增列的表中是否有主鍵

if exists(select * from sysobjects where parent_obj=object_id('[tbbrowser]') and xtype='pk')

begin

print '表中已經有主鍵,列只能做為普通列新增'

--新增int型別的列,預設值為0 不能為空

alter table table_name add column_name int default 0  not null

end

else

begin

print '表中無主鍵,新增主鍵列'

--新增int型別的列,預設值為0主鍵自動不能為空

alter table table_name add column_name int primary key default 0

end

修改sql server2005的系統時間

多說一句,以前我一直以為sql server裡的時間和sql server所在計算機的時間是一致的,直到乙個小時前才發現不是這樣的.修改前時間 print getdate 開啟高階系統控制選項 exec master.dbo.sp configure show advanced options 1 ...

SQL Server2005複製實現

一 準備工作 1 在發布伺服器上建立乙個共享目錄,作為發布快照檔案的存放目錄。例如 在d 盤根目錄下建資料夾名為pub 2 設定sql 發布伺服器和訂閱伺服器均設定 步驟 開啟服務 控制面板 管理工具 服務 右擊sqlserver agent 屬性 登入 選擇 此帳戶 輸入或選擇第一步中建立的win...

SQL Server 2005完全解除安裝

sql server 2005的解除安裝是乙個非常頭疼的問題。我曾經嘗試過直接使用 新增或刪除程式 工具解除安裝 清除安裝目錄 刪除登錄檔內容等等各種方式綜合解除安裝,勉強成功。現在終於找到了乙個事半功倍的方法,多次嘗試,未有失敗,具體如下 第一種是微軟官方提供的工具 msicuu2.exe 微軟官...