--SQL建立資料庫中所有使用者資料表自增一主鍵
--主鍵說明:名稱為ID,資料類型為整形自增一
--查詢建立前的當前資料庫所有約束
select * from information_schema.key_column_usage
declare @TableName nvarchar(250)
declare @ColumnName nvarchar(250)
set @ColumnName='ID'
--聲明讀取資料庫所有資料表名稱遊標mycursor1
declare mycursor1 cursor for select name from dbo.SysObjects WHERE OBJECTPROPERTY(ID, 'IsUserTable') = 1
--開啟遊標
open mycursor1
--從遊標裡取出資料賦值到我們剛才聲明的資料表名變數中
fetch next from mycursor1 into @TableName
--如果遊標執行成功
while (@@fetch_status=0)
begin
--如果存在主鍵列
IF EXISTS (select * from syscolumns Where ID=OBJECT_ID(N'['+@TableName+']') and
name=''+@ColumnName+'')
begin
exec ('ALTER TABLE ['+@TableName+'] DROP COLUMN
'+@ColumnName+'')
end
exec ('ALTER TABLE ['+@TableName+'] ADD '+@ColumnName+' [int] IDENTITY(1,1) NOT NULL PRIMARY KEY')
--用遊標去取下一條記錄
fetch next from mycursor1 into @TableName
end
--關閉遊標
close mycursor1
--撤銷遊標
deallocate mycursor1
--查詢建立後的當前資料庫所有約束
select * from information_schema.key_column_usage