Foxtable(狐表)用户栏目专家坐堂 → 求助SQL存储过程代码?(已解决)


  共有8551人关注过本帖树形打印复制链接

主题:求助SQL存储过程代码?(已解决)

帅哥哟,离线,有人找我吗?
exonjee
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
求助SQL存储过程代码?(已解决)  发帖心情 Post By:2009/11/25 8:44:00 [显示全部帖子]

以下存储过程运行时,调用变量作为字段名总是报错,请教高手如何修改,谢谢

报错提示:第 11 行: '@a' 附近有语法错误。


CREATE PROCEDURE Test AS
declare @gx varchar(20)
select @gx=名称 from 工序 where id=1
declare @a varchar(20)
declare @b varchar(20)
declare @c varchar(20)
set @a=@gx+'TrackIn'
set @b=@gx+'TrackOut'
set @c=@gx+'操作员'
alter table _在线 add
@a varchar(20) null
@b varchar(20) null
@c varchar(20) null
select * from _在线
Return
GO
[此贴子已经被作者于2009-11-25 11:38:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/11/25 10:05:00 [显示全部帖子]

试下先,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/11/25 10:20:00 [显示全部帖子]

exec test 运行后报错,

服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'nvarchar' 附近有语法错误。

(所影响的行数为 0 行)


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/11/25 10:23:00 [显示全部帖子]

以下是引用lxl在2009-11-25 10:04:00的发言:

给你简化了一下
CREATE PROCEDURE Test AS
declare @gx varchar(20)
select @gx=名称 from 工序 where id=1
declare @sql    nvarchar(max)
set @sql = 'alter table _在线 add ' 
+ @gx + 'TrackIn nvarchar(20) null, '
+ @gx + 'TrackOut nvarchar(20) null, '
+ @gx + '操作员 nvarchar(20) null  '
exec sp_executesql @sql
select * from _在线
GO


你为什么要把增加列放在储存过程里面呢?列名重复就会出错。

因为想通过在foxtable中新增加工序名能在SQL相关表中自动创建新字段。有其它好的方法吗


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/11/25 11:12:00 [显示全部帖子]

1,我用的是SQL2000,我已将nvarchar(max)  改成nvarchar(4000)了,还是出现报错 。

[此贴子已经被作者于2009-11-25 12:19:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/11/25 12:19:00 [显示全部帖子]

谢谢

 回到顶部