Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TSQL/SP INSERT语句,带文本和;价值观_Sql_Sql Server_Sql Server 2005_Tsql_Stored Procedures - Fatal编程技术网

TSQL/SP INSERT语句,带文本和;价值观

TSQL/SP INSERT语句,带文本和;价值观,sql,sql-server,sql-server-2005,tsql,stored-procedures,Sql,Sql Server,Sql Server 2005,Tsql,Stored Procedures,嗨 我在存储过程中有一个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

我在存储过程中有一个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
我想这可能是因为我使用了错误的格式来连接组成“camp”+@tmp_Id+“/Key”+@tmp_IDENTITY”的部分

欢迎任何帮助

谢谢

在将值粘贴到values子句或将其更改为INSERT into。。。选择查询后者将更容易


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

我认为您必须使用“而不是”

编辑:如果要为值“”编辑,则必须

SET QUOTED_IDENTIFIER OFF

使用单引号“不”

您得到的确切错误是什么

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

  • @tmp_Id
  • @tmp_标识
试试这个:
“camp”+CAST(@tmp\u Id为varchar)+“/Key”+CAST(@tmp\u IDENTITY为varchar)

不确定您的意思。请解释。谢谢。插入TBL\u捐款([捐款成员Id],[捐款参考],[捐款借方])选择@tmp_Id,'camp'+@tmp_Id++'/Key'+@tmp_IDENTITY,@tmp_designethanks作为额外的细节,但为什么它是选择而不是值?这只是另一种方式而已。在我注意到你使用双引号之前,我写过这篇文章,这解释了编辑。是的,它们确实是整数。我只是假设/希望它们会隐式转换与c#/中的方式大致相同“+‘of single quotes’但是,在连接之前,您需要将数字变量转换为字符串,就像@Yoav所说的那样。默认通过SQL Server Management StudioI我假设您已将QUOTED_标识符设置为OFF,是的,它是有效的。但是,当我打开新选项卡时,相同的命令将失败,即使剪切/粘贴实际运行的代码。奇怪?为什么你会问一个关于错误的问题,但不包括实际的错误消息?