Могу ли я назначить полный оператор SQL внутри переменной в Sybase? - PullRequest
1 голос
/ 08 сентября 2011

Мне нужно что-то вроде этого:

DECLARE @tax float
SELECT field1, field2,
CASE WHEN (@tax = select field3 from table2 where complex-sql-here) IS NULL THEN 1 ELSE the-value-of-tax END
FROM table1
WHERE @tax = 'something'

Мне нужно присвоить значение всего «select field3 ...» внутри @tax. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 09 сентября 2011

Один из способов сделать это - объявить переменную @tax как символ и добавить результат

declar @tax varchar (30)

select @ tax = convert (char, field1) + "," + convert (char, field2) ..

где ..

если вы хотите сохранить SQL-оператор просто, вы можете хранить как

объявляют @sql varchar (1024)

select @sql = "написать запрос здесь"

для исполнения

Exec (@sql)

0 голосов
/ 09 сентября 2011

Ну, я думаю, вы не можете присвоить поле простой переменной.Вы можете использовать что-то вроде

Declare @temptable table (field3)

А теперь какой-нибудь сервис ...

...