这个存储过程如何写?怎样在存储过程中使用变量?--在线等待

alazea 2003-10-21 01:20:36
CREATE PROCEDURE spEmployee_AddField
(
@intLength int,
@chvField varchar(200)
)
AS

ALTER TABLE dbo.[Employee] ADD
@chvField varchar(20) NOT NULL
GO
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmby 2003-10-21
  • 打赏
  • 举报
回复
CREATE PROCEDURE spEmployee_AddField
(
@intLength int,
@chvField varchar(200)
)
AS
exec ('ALTER TABLE dbo.[Employee] ADD'+@chvField+' varchar('+cast(@intlength as varchar(10))+') NOT NULL')

GO

alazea 2003-10-21
  • 打赏
  • 举报
回复
你好:pengdali(大力 V3.0)

我调试你写的过程运行通不过,显示为

++++++++++++++++++++++++++++++++++++
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'varchar' 附近有语法错误。
pengdali 2003-10-21
  • 打赏
  • 举报
回复
CREATE PROCEDURE spEmployee_AddField
(
@intLength int,
@chvField varchar(200)
)
AS
declare @a varchar(8000)
set @a='ALTER TABLE dbo.[Employee] ADD'+@chvField+' varchar('+cast(@intlenght as varchar(10))+') NOT NULL'

exec(@a)
GO
gmlxf 2003-10-21
  • 打赏
  • 举报
回复
exec spEmployee_AddField '0','colname'
pengdali 2003-10-21
  • 打赏
  • 举报
回复
CREATE PROCEDURE spEmployee_AddField
(
@intLength int,
@chvField varchar(200)
)
AS

exec('ALTER TABLE dbo.[Employee] ADD'+@chvField+' varchar(20) NOT NULL')
GO

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧