--exec usp_table_addfield 'a', 'right2','char(1) default '''''
/*
author: lb, date : 2005-04-12
desc : 用於增加表字段,包括已複製的表和未複製的表
*/
create proc dbo.usp_table_addfield
@tablename varchar(50),
@fieldname varchar(50),
@fieldattribute varchar(200)
as
set nocount on
declare @errmsg nvarchar(400)
set @errmsg = n'表
'+@tablename
+n'字段
'+@fieldname+n'
增加成功!'
if not exists(select name from sysobjects where xtype = 'u' and name = @tablename)
begin
set @errmsg = n'表
'+@tablename
+ n'不存在, 請檢查!'
print @errmsg
return
end
if exists(select l.name from sysobjects l inner join syscolumns r on l.id = r.id and l.name = @tablename and l.xtype ='u' and r.name = @fieldname)
begin
set @errmsg = n'表
'+@tablename+n'
中欄位'+@fieldname
+ n'已存在, 不能增加!'
print @errmsg
return
end
if charindex('char', @fieldattribute, 1) > 0
set @fieldattribute = substring(@fieldattribute,1, charindex(')',@fieldattribute, 1)) +' collate sql_latin1_general_cp1_ci_as ' +
substring(@fieldattribute, charindex(')',@fieldattribute,1)+1, len(@fieldattribute)-charindex(')',@fieldattribute,1))
if exists(select * from sysobjects where xtype='u' and replinfo != 0 and name = @tablename)
exec sp_repladdcolumn @tablename, @fieldname, @fieldattribute
else
exec('alter table
'+@tablename
+ ' add '+ @fieldname +'
'+@fieldattribute
) if @@error != 0
set @errmsg = n'表
'+@tablename
+n'字段
'+@fieldname+n'
增加失敗,請檢查!'
print @errmsg go
分頁儲存過程(增加了選擇字段列表 排序方式引數)
資料庫分頁儲存過程,支援倒序和公升序 引數說明 tablename 為搜尋表名 tablefield 為表的字段,約定為表的主鍵,where 為搜尋表名,要顯示所有記錄請設為 1 1 orderby 為搜尋結果排序,如order by id desc fieldlist 為字段列表,如userid,...
分頁儲存過程(增加了選擇字段列表 排序方式引數)
code 資料庫分頁儲存過程,支援倒序和公升序 引數說明 tablename 為搜尋表名 tablefield 為表的字段,約定為表的主鍵,where 為搜尋表名,要顯示所有記錄請設為 1 1 orderby 為搜尋結果排序,如order byid desc fieldlist 為字段列表,如use...
SQL SERVER 2008 表增加字段無法儲存
新裝的sql server 2008,開啟原來sql server 2008中建立的表,現在想增加一些字段,在儲存時提示錯誤,無法儲存。解決辦法 啟動sql server 2008,選擇選單 工具 選項 左側有個 designers 表設計器和資料庫設計器。然後去掉 阻止儲存要求重新建立表的更改 前...