powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вложенный Select
15 сообщений из 15, страница 1 из 1
Вложенный Select
    #33061104
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, возможнен ли в ASA 8.0.1 вот такой оператор:

Код: plaintext
select count(*) from (select * from LSCHET);

И-Скул ругается на него, говорит что Syntax error near '(end of line)'. Вместо вложенного селекта у меня там на самом деле должна стоять сложная выборка, я её для простоты сократил.
...
Рейтинг: 0 / 0
Вложенный Select
    #33061145
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на подзапросы всегда нужно ставить алиас:
Код: plaintext
1.
select count(*) 
from (select * from LSCHET) AS a;
...
Рейтинг: 0 / 0
Вложенный Select
    #33061157
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось. Спасибо большое!

А в чём вы ХП-шки пишете и отлаживаете? Что-то мне Централ как то не очень удобным кажется...
...
Рейтинг: 0 / 0
Вложенный Select
    #33061179
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_CПолучилось. Спасибо большое!

А в чём вы ХП-шки пишете и отлаживаете? Что-то мне Централ как то не очень удобным кажется...
Отладка в дебагере и профайлере в Central, редактировние по мелочам прямо там (открытие нового окна редактирования ХП), а создание или правка в ISQL.

После перехода с MSSQL и EM и QA первый месяц тоже Central и ISQL казались непривычными и неудобными. Сейчас наоборот, когда привыкаешь к их стилю работы, EM и QA кажутся неудобными. Так что дело привычки :)
...
Рейтинг: 0 / 0
Вложенный Select
    #33061181
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_C пишет:
> Получилось. Спасибо большое!
>
> А в чём вы ХП-шки пишете и отлаживаете? Что-то мне Централ как то не
> очень удобным кажется...

Хотя я и к централу нормально отношусь (правда я только учусь еще :) )
Но можешь посмотреть
вот это
Многие очень нахваливают, но я пока к ASA немогу подключится :(( Самому
интересно посмотреть что это такое :)
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Вложенный Select
    #33061224
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASCRUS

Вот меня как раз встроенный в Централ редактор и не устраивает. Во-первых, отсутствует какой-либо контроль за переменными. Он без проблем проглатывает вот такое:

Код: plaintext
1.
2.
3.
4.
begin
  declare @var1 integer;

  set @vr1 =  123 ; -- Такое имя не объявлено
end

А должен кричать об необъявленной переменной. Ну, по крайней мере, принято считать хорошим тоном, когда среда разработки сообщает об этом :)

Ну и слегка раздражает большое количество открытых окно. Начинаю отлиживать ХП - на экране сам Централ + И-Скул + Дебаггер + окно редактора. Плюс среда разработки клиентского приложения. Многовато.


Dimyan

Да, я уже поставил себе ДВАртизан и Рапид-СКЛ от Эмбаркадеро. Думал, что эта среда мне больше подойдет. Но нормально подключиться к базе пока не смог. В Рапид-СКЛе при подключении через ОДБЦ вижу список всех таблиц и ХП, но открыть ни одну из них не могу. А при подключении через ОпенКлиент появляется ошибка Laer(6), Origin (8), Severity (5), Number (3), ct_connect(): directory service layer: internal directory control layer error: Requested server name not found. Как с ней бороться, пока не разобрался.
...
Рейтинг: 0 / 0
Вложенный Select
    #33061369
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_CВот меня как раз встроенный в Централ редактор и не устраивает. Во-первых, отсутствует какой-либо контроль за переменными. Он без проблем проглатывает вот такое:

Код: plaintext
1.
2.
3.
4.
begin
  declare @var1 integer;

  set @vr1 =  123 ; -- Такое имя не объявлено
end

А должен кричать об необъявленной переменной. Ну, по крайней мере, принято считать хорошим тоном, когда среда разработки сообщает об этом :)
Никто тебе ничего не должен ;). А процедуры в ASA проверяются только пробным запуском.

Да, я уже поставил себе ДВАртизан и Рапид-СКЛ от Эмбаркадеро. Думал, что эта среда мне больше подойдет. Но нормально подключиться к базе пока не смог. В Рапид-СКЛе при подключении через ОДБЦ вижу список всех таблиц и ХП, но открыть ни одну из них не могу. А при подключении через ОпенКлиент появляется ошибка Laer(6), Origin (8), Severity (5), Number (3), ct_connect(): directory service layer: internal directory control layer error: Requested server name not found. Как с ней бороться, пока не разобрался.
Весьма легко - просто не нужно пользоваться прибамбасами, заточенными под совершенно другой сервер ;))).
...
Рейтинг: 0 / 0
Вложенный Select
    #33061742
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000 Евгений_CВот меня как раз встроенный в Централ редактор и не устраивает. Во-первых, отсутствует какой-либо контроль за переменными. Он без проблем проглатывает вот такое:

Код: plaintext
1.
2.
3.
4.
begin
  declare @var1 integer;

  set @vr1 =  123 ; -- Такое имя не объявлено
end

А должен кричать об необъявленной переменной. Ну, по крайней мере, принято считать хорошим тоном, когда среда разработки сообщает об этом :)
Никто тебе ничего не должен ;). А процедуры в ASA проверяются только пробным запуском.

Вот вот :) А еще можно вспомнить, что в ASA есть глобальные переменные и спрашивается откуда сервер может знать, что такое @vr1 - может это глобальная переменная.

IMHO мое мнение что при переходе на другую СУБД изначально лучше начинать работать именно с ее родными средствами и тратить время на изучение самой СУБД, чем сторонних средств разработки. Все равно ни одно стороннее средство не организует профайлер, деббагер и графический план запросов, а если вспомнить, сколько с Central запускается дополнительных утилит и функций, то опять же получится, что без нее и ISQL никуда, а значит у Вас будет просто еще одно дополнительное окно открыто стороннего средства :)
...
Рейтинг: 0 / 0
Вложенный Select
    #33063180
Vinogradov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений_C ASCRUS

Вот меня как раз встроенный в Централ редактор и не устраивает. Во-первых, отсутствует какой-либо контроль за переменными. Он без проблем проглатывает вот такое:

Код: plaintext
1.
2.
3.
4.
begin
  declare @var1 integer;

  set @vr1 =  123 ; -- Такое имя не объявлено
end

А должен кричать об необъявленной переменной. Ну, по крайней мере, принято считать хорошим тоном, когда среда разработки сообщает об этом :)

Ну и слегка раздражает большое количество открытых окно. Начинаю отлиживать ХП - на экране сам Централ + И-Скул + Дебаггер + окно редактора. Плюс среда разработки клиентского приложения. Многовато.


Dimyan

Да, я уже поставил себе ДВАртизан и Рапид-СКЛ от Эмбаркадеро. Думал, что эта среда мне больше подойдет. Но нормально подключиться к базе пока не смог. В Рапид-СКЛе при подключении через ОДБЦ вижу список всех таблиц и ХП, но открыть ни одну из них не могу. А при подключении через ОпенКлиент появляется ошибка Laer(6), Origin (8), Severity (5), Number (3), ct_connect(): directory service layer: internal directory control layer error: Requested server name not found. Как с ней бороться, пока не разобрался.

А кто сказал, что не кричит. Еще как и указывает на @vr1
...
Рейтинг: 0 / 0
Вложенный Select
    #33063270
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_CА должен кричать об необъявленной переменной. Ну, по крайней мере, принято считать хорошим тоном, когда среда разработки сообщает об этом :)
Не должен, по определению. Читайте документацию на используемый сервер :) Процедуры, таблицы, глобальные переменные и так далее это все независмые друг от друга сущности. Ты можешь создать процедуру которая использует некую таблицу, а потом создать эту самую таблицу и все будет работать. А можешь создать ХП использующую таблицу а потом убить эту таблицу и создать ее заново и все равно будет работать :)

А насчет средств разработки читай этот топик: http://sql.ru/forum/actualthread.aspx?tid=181753
...
Рейтинг: 0 / 0
Вложенный Select
    #33063557
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000Никто тебе ничего не должен ;). А процедуры в ASA проверяются только пробным запуском.
Это во мне кричит прошлое, стонущее под гнётом проклятого тоталитарного фаребёрдовского ИБЭксперта :) Который при написании ХП просто не стал бы её компилировать, встретив в тесте необъявленную переменную.

Dim2000Весьма легко - просто не нужно пользоваться прибамбасами, заточенными под совершенно другой сервер ;))).
Я пока ещё только разбираюсь в этом вопросе. С сайбейзом работаю всего только месяц. Просто где-то на этом форуме я читал, что ДВАртизаном можно пользоваться и для АСА. Может быть, это я что-то неправильно понял.
...
Рейтинг: 0 / 0
Вложенный Select
    #33063564
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASCRUSВот вот :) А еще можно вспомнить, что в ASA есть глобальные переменные и спрашивается откуда сервер может знать, что такое @vr1 - может это глобальная переменная.

А почему бы среде не использовать VarExists()? Или это появилось только в АСА 9, а в 8-й версии ещё нет?

ASCRUSIMHO мое мнение что при переходе на другую СУБД изначально лучше начинать работать именно с ее родными средствами и тратить время на изучение самой СУБД, чем сторонних средств разработки. Все равно ни одно стороннее средство не организует профайлер, деббагер и графический план запросов, а если вспомнить, сколько с Central запускается дополнительных утилит и функций, то опять же получится, что без нее и ISQL никуда, а значит у Вас будет просто еще одно дополнительное окно открыто стороннего средства :)
Пока так и делаю. Кстати, напишу-ка я заявку, с объективно обоснованным требованием на модернизацию своего рабочего места. Сейчас у меня 19" монитор, а попрошу я ещё парочку таких же. Так и напишу: "В связи с нехваткой экранных площадей под размещение инструментальных окон среды разработки, что приводит к увеличению сроков создания ПО..." Все ненужные окна на соседний монитор можно выкинуть.
...
Рейтинг: 0 / 0
Вложенный Select
    #33063603
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_C Dim2000Никто тебе ничего не должен ;). А процедуры в ASA проверяются только пробным запуском.
Это во мне кричит прошлое, стонущее под гнётом проклятого тоталитарного фаребёрдовского ИБЭксперта :) Который при написании ХП просто не стал бы её компилировать, встретив в тесте необъявленную переменную.

А разве процедуры компилит IBExpert а не сам сервер FB? IBExpert - хороший инструмент. По моему сугубо личному мнению, слишком хороший, неадекватно серверу. Это как супер-навороченная приборная панель с несколькими сенсорными ЖК-экранами, кучей кнопок, голосовым управлением и прочими примочками внутри москвича-412 (никого не хочу обидеть - просто передаю личное ощущение несоответствия)
;)
Евгений_C
Dim2000Весьма легко - просто не нужно пользоваться прибамбасами, заточенными под совершенно другой сервер ;))).
Я пока ещё только разбираюсь в этом вопросе. С сайбейзом работаю всего только месяц. Просто где-то на этом форуме я читал, что ДВАртизаном можно пользоваться и для АСА. Может быть, это я что-то неправильно понял.
Можно пользоваться чем угодно. Вопрос только в том, нужно ли.
Евгений_C
А почему бы среде не использовать VarExists()? Или это появилось только в АСА 9, а в 8-й версии ещё нет?

Объяснили же! Я могу создать процедуру, в которой сделаю
SELECT * FROM SomeTable WHERE SomeOne1=SomeOne2
При этом в момент создания процедуры не будет таблицы SomeTable и не будет параметров SomeOne. Какой нафиг VarExists в момент создания? Но процедура корректна!

В сессии перед вызовом процедуры создаю временную таблицу и заполняю данными
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE LOCAL TEMPORARY TABLE SomeTable( 
  id integer default autoincrement,
  SomeOne2 varchar( 20 ),
  primary key(id)
) ON COMMIT PRESERVE ROWS;

INSERT INTO SomeTable(SomeOne2) VALUES ('aaa');
INSERT INTO SomeTable(SomeOne2) VALUES ('bbb');
а так же создаю переменную и задаю ей значение:
Код: plaintext
1.
2.
CREATE VARIABLE SomeOne1 varchar( 20 );
Set SomeOne1='bbb';
И все - процедура прекрасно работает!

В FB просто нет ни временных таблиц, ни переменных, ни еще кучи всякого разного полезного функционала - могут позволить себе жесткую компиляцию процедур.
Евгений_C
Кстати, напишу-ка я заявку, с объективно обоснованным требованием на модернизацию своего рабочего места. Сейчас у меня 19" монитор, а попрошу я ещё парочку таких же. Так и напишу: "В связи с нехваткой экранных площадей под размещение инструментальных окон среды разработки, что приводит к увеличению сроков создания ПО..." Все ненужные окна на соседний монитор можно выкинуть.

Басню Крылова "Мартышка и очки" читал? Или это уже выбросили из школьного курса?
...
Рейтинг: 0 / 0
Вложенный Select
    #33063621
Евгений_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр ГoлдунА разве процедуры компилит IBExpert а не сам сервер FB? IBExpert - хороший инструмент. По моему сугубо личному мнению, слишком хороший, неадекватно серверу. Это как супер-навороченная приборная панель с несколькими сенсорными ЖК-экранами, кучей кнопок, голосовым управлением и прочими примочками внутри москвича-412 (никого не хочу обидеть - просто передаю личное ощущение несоответствия)
;)
Я там смайлик ставил :) Вообще-то мне ИБЭксперт очень симпатишен. Удобный очень. Ну разумеется, я понимаю, что это не более чем обёртка вокруг ФБ.

Александр ГoлдунОбъяснили же! Я могу создать процедуру, в которой сделаю...

В FB просто нет ни временных таблиц, ни переменных, ни еще кучи всякого разного полезного функционала - могут позволить себе жесткую компиляцию процедур.
Да, я понимаю. Просто я пока ещё только перестраиваиваюсь на "сайбейзный" стиль мышления. Со временем освоюсь.

Александр ГoлдунБасню Крылова "Мартышка и очки" читал? Или это уже выбросили из школьного курса?
Гх-м... Ты меня за школьника принимаешь? Спасибо за комплимент :) но школу я закончил ещё в СССР. А работа с несколькими мониторами, в определённых условиях, вполне себе удобный и практичный метод.
...
Рейтинг: 0 / 0
Вложенный Select
    #33063663
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати к слову, чего меня всегда раздражало в IB - так это как раз жесткая компиляция ХП, где уже даже параметры в существующей процедуре просто так не изменишь, пока на нее ссылки из других ХП есть. Говорят и в ASE не скомпилируешь процедуру, пока в ней есть ссылки на несуществующие обьекты. Мне кажется грамотнее всего сделали в MSSQL - он просто выдает предупреждения при компиляции ХП на обращения к несуществующим обьектам. Такое бы в ASA конечно не помешало :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вложенный Select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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