TSQL / SP INSERT оператор с текстом и значениями - PullRequest
0 голосов
/ 11 сентября 2009

HI

У меня есть оператор вставки в хранимой процедуре, который требует, чтобы данные значения были комбинацией текста и переменных / входных данных. Однако мой SQL Manager выдает ошибку в этом значении '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' ???????

Любая помощь приветствуется.

Спасибо!

Ответы [ 4 ]

3 голосов
/ 11 сентября 2009

Какую именно ошибку вы получаете?

Без дополнительной информации вам может потребоваться привести следующие переменные, потому что соглашение об именах, которое вы используете, заставит меня поверить, что они являются целыми числами, а вы объедините их со строками:

  • @ tmp_Id
  • @ tmp_IDENTITY

Попробуйте это: 'camp' + CAST (@tmp_Id как varchar) + '/ Key' + CAST (@tmp_IDENTITY как varchar)

3 голосов
/ 11 сентября 2009

Я думаю, что вы должны использовать "вместо" "

РЕДАКТИРОВАТЬ: Если вы хотите "" для значений, вы должны

SET QUOTED_IDENTIFIER OFF

SET QUOTED_IDENTIFIER

2 голосов
/ 11 сентября 2009

Используйте одинарные кавычки "не"

1 голос
/ 11 сентября 2009

Необходимо подготовить значения, прежде чем вставить их в предложение VALUES, или изменить его на запрос INSERT INTO ... SELECT ... Последнее будет легче.

РЕДАКТИРОВАТЬ: И использовать одинарные кавычки, а не двойные кавычки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...