|
|
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
В sp формируется динамический запрос на update, фрагмент кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. сам вопрос Когда значение @maxNumber is not NULL , все работает когда is Null переменная @strSQL становится пустой "print (@strSQL)" ни чего не возвращает . Подскажите пожалуйста как обойти это. Не хочется в таблице менять Null , на 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 13:53:15 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
select @maxNumber = isnull(max(number),0) наверное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 13:56:27 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
2VVG_ Так конечно можно, но тогда поле number будет апдейтится на '0', а надо чтоб number стал NULL не хочется скрипты перелопачивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:02:55 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
Два варианта: 1. Declare @maxNumber int select @maxNumber = 0 select @maxNumber = max(number) From... Это пройдет, если у Вас number Not Null 2. If @maxNumber is not Null set @maxNumber = @maxNumber + 1 Else set @maxNumber = 1 Или Select @maxNumber = IsNull (@maxNumber, 0) + 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:08:26 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
If @basic = '1' Begin if @MaxNumber Is Not Null set @strSQL = @strSQL + N',number=''' + convert(nvarchar(12),@maxNumber) + '''' else End print (@strSQL) -- для проверки ** --exec (strSQL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:12:55 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
Наверное так: If @basic = '1' Begin if @MaxNumber Is Not Null set @strSQL = @strSQL + N',number=''' + convert(nvarchar(12),@maxNumber) + '''' else set @strSQL = @strSQL + N',number=Null' End print (@strSQL) -- для проверки ** --exec (strSQL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:15:49 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
2Александр Спелицин, Nickolay Подождите мужики if @MaxNumber Is Not Null то все нормально, берется следующий номер и апдайтится поле number, но мне на горе есть еще else else(@MaxNumber Is Nul) вот тут начились траблы мне надо поле number updat-ить на null, но после Код: plaintext 1. переменная @strSQL становиться пустой ((((((((( Единственное, что в голову приходить делать отдельно Код: plaintext 1. 2. q тригер переделывать придется, а не хоться Помогите!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:30:06 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
а вот слона, то мы и незаметили :-) СПАСИБО Nickolay Пока писал, пришел ваш ответ(второй) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:36:28 |
|
||
|
Динамический запрос, возникли проблемы, помогоите плз.
|
|||
|---|---|---|---|
|
#18+
А если так: convert(nvarchar(12), isnull(@maxNumber, 'null')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2002, 14:43:08 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32052994&tid=1820083]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 339ms |

| 0 / 0 |
