powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Народ помогите с sql
20 сообщений из 20, страница 1 из 1
Народ помогите с sql
    #38892017
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
условие такое: есть пользователь который бэкапит бд по умолчанию он прав на новые бд не имеет.Нужно написать скрипт который будит предварительно узнавать все бд на серваке и потом накидывать права в юзербэкап

в задумке это выглядело так :
пишу селект результат селекта отправляю в переменную и жаю права на содержимое в переменной нашему юзеру. Но нефига оказалось не все так просто так как на выходе после селекта я получаю табличку. надо как то ее преобразовать в текст через запятую как это сделать?
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38892519
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
более умные и грамотные товарищи подсказали использовать курсоры чтобы не заморачиваться с тем как я это хотел сделать.если кто объяснит как правильно пользоваться курсорами и как это реализовать в моей задаче буду очень признателен
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38892647
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никто со мной разговаривать не хочет )

вообщем накрапал я бяку скажите хоть работать будит или нет стремно пробывать )

DECLARE cursor_1 cursor
for SELECT имя колонки
FROM имя БД
WHERE значение равно томуто
open cursor_1
DECLARE @names varchar(30) -- это я так понял переменная в которую будит записываться содержимое курсора
FETCH next from cursor_1 INTO @names -- из того что я понял,не факт что это так по умолчанию курсор над всеми строчками и как бы надо его сдвинуть разочек вниз
WHILE @@FETCH_STATUS=0
begin
GRANT dump on @names to нужный пользователь
FETCH next from cursor_1 INTO @names
end
close cursor_1
deallocate cursor_1
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38892798
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ориентируясь на то как это делается в ms sql вроде расчехлил скрипт для teradata можно закрывать тему)а лучше удалить
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38896353
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zefs589для teradataС этого и надо было начинать, а не заканчивать :)
Впрочем, сомневаюсь, что это помогло бы...
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38896390
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на самом деле сделать то сделал,но есть нюансы скрипт мой например дает права всем базам сразу что есть.И не знаю стоит ли его юзать не стоит пока оч плохо понимаю архитектуру терадаты мало ли там логи какие-нибудь будут дико расти от этого и тд.думаю в идеале надо сделать чтобы была какая-то проверка в скрипте мол если прав нет то дать если есть пропустить,но вот пока как это реализовать не знаю ((
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38897247
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
реализовал )
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38897327
illeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zefs589,
разве что qrylog станет больше.

Если хотите узнать права для пользователя на уровне баз, то


SELECT base.DatabaseName AS "Database",AR.AccessRight
FROM DBC.DBase base, DBC.AccessRights AR, dbc.DBase usr
WHERE

AR.UserId = usr.DatabaseId
and
usr.databaseNameI= имя пользователя
AND AR.DatabaseId=DBase.DatabaseId

and tvmid='00'xb -- все "таблицы"
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38897617
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо) но с этим уже разобрался получилось даж сделать так чтоьы права прилетали только новым бд)
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38897645
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не знаете случайно как прикрутить sql скрипт в cron?
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38899671
illeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zefs589а не знаете случайно как прикрутить sql скрипт в cron?
bteq
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38899844
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда получается у меня bteq должен быть на серваке установлен так ведь?
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900031
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда получается у меня bteq должен быть на серваке установлен так ведь?
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900091
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написал вот такой маленький скриптик

.LOGOFF
.SET SESSION TRANSACTION ANSI
.LOGON dbsname/userid,pwd
CALL tstprocedure();
.LOGOFF


сохраняю его в файлик с расширением .bteq
и запускаю потом из bteq командой .run file путь к скрипту

в итоге процедура вызывается но не отрабатывает
если убрать последнею строчку логофф все работает как надо но нельзя оставлять сессию висячей бо тогда студия не работает )
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900313
illeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zefs589,

При SESSION TRANSACTION ANSI транзакции закрывать надо.
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900324
illeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zefs589и запускаю потом из bteq командой .run file путь к скрипту

можно проще из крона: bteq < скрипт.bteq



zefs589написал вот такой маленький скриптик


Код: sql
1.
2.
.LOGON dbsname/userid,pwd
CALL tstprocedure();



этого хватит
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900374
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а какой командой закрывать транзакцию весь мозг кипит уже весь мануал перерыл,
если я оставлю скрипт

.LOGON dbsname/userid,pwd
CALL tstprocedure();

бьет ошибку бо call не проходит из BTET
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38900398
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illeo спасибо добрый человек разобрался внес commit просто в процедурку и все чики пуки
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38901391
illeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zefs589бьет ошибку бо call не проходит из BTET

для вызова процедуры в BTET, ее надо компилировать так же в BTET.
...
Рейтинг: 0 / 0
Народ помогите с sql
    #38901463
zefs589
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда надо вникать) меня просто можн сказать под танк кинули,будит время разберусь пока так работает как написал выше
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Народ помогите с sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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