TSQL / SP INSERT语句,带有文本&值

时间:2009-09-11 11:25:13

标签: sql sql-server sql-server-2005 tsql stored-procedures

HI,

我在存储过程中有一个insert语句,它要求值数据是文本和变量/输入的组合。但是,当我尝试编译它时,我的SQL管理器在这个'camp'值上给出了错误。

以下是目前存在的陈述;

   BEGIN TRAN
   INSERT INTO TBL_DONATIONS ([donations_MemberID], [donation_Ref], [donations_Debit]) VALUES (@tmp_Id, "camp"+@tmp_Id+"/Key"+@tmp_IDENTITY, @tmp_Pledge)
   COMMIT

我想这可能是我使用错误的格式来连接形成'“阵营”的部分+ @ tmp_Id +“/ Key”+ @ tmp_IDENTITY'???????

任何帮助都非常受欢迎。

谢谢!

4 个答案:

答案 0 :(得分:3)

我认为你必须使用'而不是'“

编辑:如果你想要“”你需要的值

SET QUOTED_IDENTIFIER OFF

SET QUOTED_IDENTIFIER

答案 1 :(得分:3)

你得到的确切错误是什么?

如果没有进一步的信息,您可能需要转换以下变量,因为您使用的命名约定会让我相信它们是整数,并且您将它们与字符串连接起来:

  • @tmp_Id
  • @tmp_IDENTITY

试试这个: 'camp'+ CAST(@tmp_Id as varchar)+'/ Key'+ CAST(@tmp_IDENTITY as varchar)

答案 2 :(得分:2)

使用单引号'not“

答案 3 :(得分:1)

您需要在将值粘贴到VALUES子句之前准备值,或将其更改为INSERT INTO ... SELECT ...查询。 后者会更容易。

编辑:并使用单引号,而不是双引号。