Может ли кто-нибудь дать мне знания о том, как использовать утверждение «Если нет», если мне нужно условие для изменения значения во временной таблице? - PullRequest
0 голосов
/ 23 июня 2019
  • Я создал временную таблицу в хранимой процедуре.
  • Все значения также были получены в #temptable.Проблема заключается в том, что всякий раз, когда я пытаюсь использовать оператор IF, он говорит «Invalid Column», хотя столбец доступен в #temptable.Может ли кто-нибудь обобщить мне логику, стоящую за этим, и что нужно сделать, чтобы это не повторилось в будущем.Например, у меня есть столбец «availableBalance» на #temptable.Теперь, если я создам оператор IF,
(This is just an example)
If (availableBalance>300)
Update status = 01
Else
Status = 02. 

Он скажет «Недопустимый столбец» AvailableBalance.

Пожалуйста, дайте мне краткую информацию о «Недопустимый столбец», чтобы я могсделать это правильно?

Ответы [ 2 ]

2 голосов
/ 23 июня 2019

Используйте CASE / WHEN вместо IF / ELSE

 UPDATE #temptable
 SET status = 
     CASE 
         WHEN availableBalance > 300 THEN 0
         ELSE 02
     END
1 голос
/ 23 июня 2019

Вы можете использовать IIF() как

UPDATE #YourTable
SET Status = IIF(AvailableBalance > 300, 0, 1)
--WHERE condition if needed 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...