急啊,在线等!关于动态SQLINSERT的写法

vanjayhsu 2007-12-20 04:13:22
DECLARE @COLUMNNAME VARCHAR(100);
DECLARE @COLFULNAME VARCHAR(100);
SET @COLUMNNAME='旅游景点的距离(米)';
SELECT @COLFULNAME=@COLUMNNAME+':';
EXEC('INSERT INTO dbo.SurveyModel('+@COLUMNNAME+')
SELECT ItemName FROM dbo.Survey_Item A,dbo.Form_Result B,dbo.Form_Info C,dbo.Survey_SubCategory D
WHERE C.ProjectID='+@ProjectID+' AND C.FormID=B.FormID
AND D.SubCategoryDesc='+@COLFULNAME+' AND B.ItemValue=A.ItemID
AND D.SubCategoryID=B.SubCategoryID');
执行提示如下错误:
消息 102,级别 15,状态 1,第 1 行
'(' 附近有语法错误。
消息 102,级别 15,状态 1,第 4 行
'旅游景点的距离(米)'附近有语法错误。
求高手帮忙啊,急啊!!!!!!!
...全文
82 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2007-12-20
  • 打赏
  • 举报
回复
+@ProjectID
你的这个变量在哪声明,在哪赋值?
dawugui 2007-12-20
  • 打赏
  • 举报
回复
字段名里面不能有()号.这个命名规则不对.
改为:

SET @COLUMNNAME = '旅游景点的距离_米'
vanjayhsu 2007-12-20
  • 打赏
  • 举报
回复
SET @COLUMNNAME='旅游景点的距离(米)'; 这里不是赋值了么?最主要是提示消息:
消息 102,级别 15,状态 1,第 4 行
'旅游景点的距离(米)'附近有语法错误。
这个错误不知道怎么解决,好像不能这么写吧?D.SubCategoryDesc='+@COLFULNAME+'
dawugui 2007-12-20
  • 打赏
  • 举报
回复
其他类似.
dawugui 2007-12-20
  • 打赏
  • 举报
回复
@COLUMNNAME 是空值.没赋予初始值.

加set @COLUMNNAME = '列名'

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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