1. 程式人生 > >SQLServer使用儲存過程增加列

SQLServer使用儲存過程增加列

--將新增一列寫成儲存過程
--if exists(select * from sysobjects where id=object_id(N['addcol']) and objectproperty (id,N'isProcedure')=1)
IF  EXISTS (  SELECT  * FROM SYS.OBJECTS WHERE TYPE='P' AND NAME='addcol' )
begin
print '存在這個儲存過程';
drop procedure addcol;
end;
go
create procedure addcol ( @tablename varchar(15),@colname varchar (15),@coltype varchar(20))
as
begin
declare @sql varchar(300);---要執行新增列的sql語句
if not exists(select * from syscolumns where id=object_id(@tablename) and

[email protected])
    begin
    set @sql='ALTER TABLE '[email protected]+' '+'ADD '+ @colname+' '[email protected] +' DEFAULT 2 NOT NULL';
    print  @sql;
    --ALTER TABLE @tablename ADD @colname @coltype DEFAULT 2 NOT NULL;
    exec (@sql);----!!!!一定要帶括號!!!
    end;
end;
Go
--呼叫儲存過程以下幾種都可以
execute addcol 'test2','test2id','int';