如何在存储过程中使用参数
目前小弟需要写这样一个存储过程,根据输入参数,修改一张表的已有结构,不知道如何根据参数的不同执行不同的操作吗,我在引用操作的时候总是报错。(第 34 行: '@所属表' 附近有语法错误。),请高手指点一下,谢谢
create PROCEDURE spAddZhibiao
(
@指标中文名 varchar (50),
@所属表 varchar (50)
)
as
if EXISTS (SELECT * FROM sysobjects WHERE name = @所属表)
begin
if @字段类型='varchar'
begin
alter table @所属表
add @指标英文名 varchar (500)
end
else if @字段类型='float'
begin
alter table 所属表
add 指标英文名 float
end
else
begin
alter table 所属表
add 指标英文名 int
end
end
问题点数:20、回复次数:2Top
1 楼WangZWang(先来)回复于 2006-06-04 12:36:35 得分 0
可以用动态语句实现,如:
exec('alter table '+@所属表+'
add '+@指标英文名+' varchar (500)')Top
2 楼xeqtr1982(Visual C# .NET)回复于 2006-06-04 12:45:15 得分 0
create PROCEDURE spAddZhibiao
(
@指标英文名 varchar (50),
@所属表 varchar (50),
@字段类型 varchar(20)
)
as
if EXISTS (SELECT * FROM sysobjects WHERE name = @所属表)
begin
if @字段类型='varchar'
begin
exec('alter table '+@所属表+' add '+@指标英文名+' varchar (500)')
end
else if @字段类型='float'
begin
exec('alter table '+@所属表+' add '+@指标英文名+' float')
end
else
begin
exec('alter table '+@所属表+' add '+@指标英文名+' int')
end
endTop




