powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Смогёте поправить запрос?
15 сообщений из 15, страница 1 из 1
Смогёте поправить запрос?
    #32744713
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DECLARE @table_name CHAR(50)
DECLARE cur_tables CURSOR FOR SELECT table_name FROM systable WHERE table_id>160

OPEN cur_tables
FETCH FIRST cur_tables INTO @table_name

//Не выполняется с этого места

WHILE sqlcode=0 LOOP
EXECUTE IMMEDIATE 'GRANT DELETE ON '||@table_name||' TO Reporter'
FETCH NEXT cur_tables INTO @table_name
END LOOP
CLOSE cur_tables;
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744730
s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
s
Гость
ASA kakaja? V ASA901 s execute immediate naputano (seichat lechat).
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744788
Linas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Poprobuite tak:

OPEN cur_tables WITH HOLD
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744807
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sASA kakaja? V ASA901 s execute immediate naputano (seichat lechat).

Sybase SQL Anywhere 5.5
Ошибка syntax error near @table_name
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744809
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LinasPoprobuite tak:

OPEN cur_tables WITH HOLD
Не помогает
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744909
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, синтаксис там несколько того... кривой... вот то, что может слопать сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE @table_name CHAR( 50 );
DECLARE cur_tables CURSOR FOR SELECT table_name FROM systable WHERE table_id> 160 ;

OPEN cur_tables;
FETCH FIRST cur_tables INTO @table_name;

 //Не выполняется с этого места 

WHILE sqlcode= 0  LOOP
EXECUTE IMMEDIATE 'GRANT DELETE ON '||@table_name||' TO Reporter';
FETCH cur_tables INTO @table_name;
END LOOP;
CLOSE cur_tables;
Во-вторых, как уже правильно заметил тов. Linas, GRANT вызовет автоматический COMMIT с закрытием курсора. Есть ли в пятёрке WITH HOLD, не помню.
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744929
L0cat0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
declare t_name char(128);
declare SC dynamic scroll cursor for select table_name from systable where table_type = 'BASE' and creator = 101;
declare nf_SC exception for sqlstate value '02000';
open SC with hold;
begin
SCLoop: loop
fetch next SC into t_name;
if sqlstate = nf_SC then
leave SCLoop
end if;
execute immediate 'GRANT DELETE ON ' || t_name || ' TO Reporter'
end loop SCLoop
end;
close SC
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744964
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти примеры не работают уже хотя бы потому что в них присутствует разделитель точка с запятой (!).

Я пытаюсь сделать скрипт который как вы поняли даёт права на определённые таблицы. И хочу запустить всю эту фигню в ISQL, однако в ответ выдаются маразматические ошибки.

Короче, мне тут ассы посоветовали выполнить всё это в виде хранимой процедуры. Попробую...
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32744979
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так я это и тестировал как тело ХП :) (не уверен, что это заработает как скрипт из ISQL).
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745011
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000Ну так я это и тестировал как тело ХП :) (не уверен, что это заработает как скрипт из ISQL).

А я и не догадывался. Вот так вот невзначай и почуствуешь себя ламером.
Обидно досадно, но ладно. :)
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745083
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VWEdwardА я и не догадывался.
Ну так сразу бы сказал, что это должно быть скриптом для ISQL ;). А то мне показалось, что это выдранный из ХП кусок...
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745115
VWEdward
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000 VWEdwardА я и не догадывался.
Ну так сразу бы сказал, что это должно быть скриптом для ISQL ;). А то мне показалось, что это выдранный из ХП кусок...

Написал в виде ХП, всё работает как часы.

Ваще - ISQL в версии 5.5 это такое гов*нище!!!
После Enterprise Managera чувствуешь себя паралитиком. Хотя это только эмоции.
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745188
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VWEdwardВаще - ISQL в версии 5.5 это такое гов*нище!!!
После Enterprise Managera чувствуешь себя паралитиком. Хотя это только эмоции.
А ISQL - это не аналог EM, c EM я бы сравнивал Sybase Central. Кроме того, SA5.5 - очень старый продукт.
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745476
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VWEdwardВаще - ISQL в версии 5.5 это такое гов*нище!!!
После Enterprise Managera чувствуешь себя паралитиком. Хотя это только эмоции.
Хе хе - 5.5 было в 1996 году реализовано. Лучше уж промолчать, чего в это время было у MSSQL :)
...
Рейтинг: 0 / 0
Смогёте поправить запрос?
    #32745676
_Dog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачай free developer ASA9 и пробуй at хотя бы новый Central.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Смогёте поправить запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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