Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оператор SELECT / 17 сообщений из 17, страница 1 из 1
01.11.2016, 14:55
    #39338989
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
День добрый!
В коде АСУП в ASA 9 я часто встречаю подобные выражения:

Код: sql
1.
select @a=null, @b=null;



ASA 17 подобный код не обрабатывает. Подскажите пожалуйста, что означают эти выражения и как мне перевести их в процедурах для ASA 17?
...
Рейтинг: 0 / 0
01.11.2016, 15:27
    #39339035
Teck
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Код: sql
1.
SET @A = NULL
...
Рейтинг: 0 / 0
02.11.2016, 06:45
    #39339516
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
White Owl|| - текстовая конкатенация.
set @var - то, за что нужно бить больно по рукам. set - команда WatcomSQL, @ - необходимый символ для переменных из TransactSQL и опциональный для WatcomSQL. Точка с запятой в конце строки тоже из WatcomSQL.


Цитата из другой темы. Это на каком диалекте в итоге?
...
Рейтинг: 0 / 0
02.11.2016, 09:33
    #39339587
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Soo,
Все правильно, просто разные версии ASA поддерживает оба диалекта по разному, причем смешивание диалектов возможно в одних, причем тоже по разному, в других нет, в вашем случае вместо
Код: sql
1.
select @a=null, @b=null;


надо использовать
Код: sql
1.
2.
3.
 set a=null;
 set b=null;
 select a,b;


перед этим не забыть проверить наличие декларирования a,b ...
...
Рейтинг: 0 / 0
02.11.2016, 09:39
    #39339591
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
А что в итоге будет выполнено в результате этой операции?
Sergey Orlov
Код: sql
1.
2.
3.
 set a=null;
 set b=null;
 select a,b;



Мне вообще непонятна запись
Код: sql
1.
select a,b; 

без FROM и т.п.
...
Рейтинг: 0 / 0
02.11.2016, 11:10
    #39339676
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
SooА что в итоге будет выполнено в результате этой операции?
Sergey Orlov
Код: sql
1.
2.
3.
 set a=null;
 set b=null;
 select a,b;



Мне вообще непонятна запись
Код: sql
1.
select a,b; 

без FROM и т.п.
Будет выдана одна строка, где в первом столбце будет значение a, а во втором b, первый столбец будет именоваться a, а второй b, в этом конкретном случае будет выдано NULL NULL.
В вашем случае, в теле процедуры очевидно идет инициализация переменных a и b, поэтому select может быть и не нужен...
...
Рейтинг: 0 / 0
02.11.2016, 11:30
    #39339710
pand
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
SooА что в итоге будет выполнено в результате этой операции?
Sergey Orlov
Код: sql
1.
2.
3.
 set a=null;
 set b=null;
 select a,b;



Мне вообще непонятна запись
Код: sql
1.
select a,b; 

без FROM и т.п.

В этом случае
select a,b; не нужен
для Transact SQL

select @a = null ,@b= null

для Watcom SQL

set @a=null;
set @b=null;


@ лучше оставить чтобы последующий код не покрешился
...
Рейтинг: 0 / 0
08.11.2016, 14:23
    #39343504
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Подскажите плз, как ретранслировать тогда эту строку:
Код: sql
1.
2.
select @table_dep = table_dep, @sql_script = sql_script, @is_quoted = is_quoted 
            from #tmp_filter where param_name = @param;
...
Рейтинг: 0 / 0
08.11.2016, 17:38
    #39343747
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Soo,
А это у вас в процедуре или в чем-то другом...
...
Рейтинг: 0 / 0
08.11.2016, 18:50
    #39343821
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
SooПодскажите плз, как ретранслировать тогда эту строку:
Код: sql
1.
2.
select @table_dep = table_dep, @sql_script = sql_script, @is_quoted = is_quoted 
            from #tmp_filter where param_name = @param;


Ну зачем ты полез в сервер, если на такой элементарщине спотыкаешься?
Код: sql
1.
2.
3.
4.
select table_dep, sql_script, is_quoted 
  into @table_dep, @sql_script, @is_quoted
  from #tmp_filter 
 where param_name = @param;
...
Рейтинг: 0 / 0
09.11.2016, 07:08
    #39343979
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Dim2000Ну зачем ты полез в сервер, если на такой элементарщине спотыкаешься?

Вообще, это не я, это сам сервер спотыкается... Спасибо за ответ, я начинаю понимать структуру select ... into, это пока самое сложное.
...
Рейтинг: 0 / 0
09.11.2016, 07:15
    #39343981
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Sergey OrlovSoo,
А это у вас в процедуре или в чем-то другом...
Да, у меня тут база, которую я переношу из ASA 9 в ASA 17, где содержится порядка 850 процедур и функций, сервер выдаёт ошибки на эти селекты. В будущем, возможно, перейдём на другую БД, а сейчас это поддерживать приходится.
...
Рейтинг: 0 / 0
09.11.2016, 07:57
    #39343987
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
На всякий случай подытожу. Получается, можно не менять конструкции типа
Код: sql
1.
select @a=null, @b=null;


на конструкции типа
Код: sql
1.
set a=null; set @b=null;


Их можно заменить на
Код: sql
1.
select null, null into @a, @b;


Правильно?
...
Рейтинг: 0 / 0
09.11.2016, 13:25
    #39344185
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
SooСпасибо за ответ, я начинаю понимать структуру select ... into, это пока самое сложное.
Я этот ответ написал, не включая мозг, где тут сложности-то ;)?

SooИх можно заменить на
Код: sql
1.
select null, null into @a, @b;


Правильно?
В общем, работать будет. Но выглядит весьма странно, примерно как вырезанные через зад гланды :).
...
Рейтинг: 0 / 0
10.11.2016, 08:10
    #39344561
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
Dim2000Я этот ответ написал, не включая мозг, где тут сложности-то ;)?

В MySQL, с которым я работал до этого, данной конструкции нет.
Dim2000В общем, работать будет. Но выглядит весьма странно, примерно как вырезанные через зад гланды :).

Ну чтобы научиться правильно вставлять, иногда надо побыть извращенцем))
...
Рейтинг: 0 / 0
10.11.2016, 11:05
    #39344633
pand
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
SooDim2000Я этот ответ написал, не включая мозг, где тут сложности-то ;)?

В MySQL, с которым я работал до этого, данной конструкции нет.
Dim2000В общем, работать будет. Но выглядит весьма странно, примерно как вырезанные через зад гланды :).

Ну чтобы научиться правильно вставлять, иногда надо побыть извращенцем))
Первый раз слышу чтобы гланды вставляли. И вообще не уверен что их правильно вставлять через зад.

Вам бы лучше почитать документацию по базе перед тем как заниматься миграцией и обслуживанием базы.
Благо у SQL anywhere базовая документация довольно толковая.
...
Рейтинг: 0 / 0
10.11.2016, 12:09
    #39344700
Soo
Soo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор SELECT
pand
Вам бы лучше почитать документацию по базе перед тем как заниматься миграцией и обслуживанием базы.
Благо у SQL anywhere базовая документация довольно толковая.

Читаю. Нашёл на русском языке только одну книжку 2001 года. Остальное всё на английском, на нём труднее.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оператор SELECT / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]