Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Как заставить SQL server выполнить часть хранимой процедуры?   Найти похожие ветки 

 
AndrewK ©   (2003-09-26 17:17) [0]

Привет!

Работаю с MS SQL 2000.

Как заставить SQL server выполнить только часть хранимой процедуры?

Есть хранимая процедура, которая выполняет некоторые операции с другой базой. Вторая база может иногда переводиться в Single_User. Как написать процедуру так, чтобы она перед выполнением проверяла состояние второй базы и если она в режиме Single_User, то выводила строку "База заблокирована" и завершала работу. Если же нет, то выполнить тело процедуры.

делаю так:
declare @BlockLevel sql_variant
select @BlockLevel = DATABASEPROPERTYEX("Angstrem1C", "UserAccess")
declare @DBReadOnly sql_variant
select @DBReadOnly = DATABASEPROPERTYEX("Angstrem1C", "Updateability")

declare @1CBlocked int
if (@BlockLevel <> "MULTI_USER") or (@DBReadOnly = "READ_ONLY") set @1CBlocked = 1 else set @1CBlocked = 0

if @1CBlocked = 1 begin
select 1 as ErrorCode, "База данных заблокирована." as ErrorMessage
end else begin
-- операции с другой базой --
end


Проблема у меня в том, что процедура пытается проверить процедуру до ее выполнения и поэтому получает ошибку доступа.

Можно как-нибудь обойти проблему?


 
NAlexey ©   (2003-09-26 17:25) [1]

>процедура пытается проверить процедуру
Не понял как это происходит? Какая процедура? Какую процедуру?


 
AndrewK ©   (2003-09-29 17:49) [2]

Может я плохо объяснил.

Мне вообще надо сделать вот что:

Есть процедура, которая должна выполнить некоторое действие с другой базой данных если она не находится в состоянии SINGLE_USER или READ_ONLY. Если база находится в этих режимах, то вернуть некоторый код.

Как написать такую процедуру?


 
Polevi ©   (2003-09-29 20:24) [3]

if not (SINGLE_USER или READ_ONLY)
выполнить некоторое действие с другой базой данных
else
вернуть некоторый код.


 
AndrewK ©   (2003-10-02 10:20) [4]

>Polevi: Невероятно, но не работает...



Страницы: 1 вся ветка

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-74422
Knight
2003-10-03 00:01
2003.10.23
Кто чем интересуется в жизни?


1-74278
Le!
2003-10-13 08:10
2003.10.23
Народ помогите с простым вопросом!


14-74382
Knight
2003-10-02 18:49
2003.10.23
Как вы относитесь к журналу Хакер?


3-73988
dzh2000
2003-10-04 16:36
2003.10.23
Bug с отрицательными числами в Firebird 1.5


3-73972
Neo
2003-10-01 09:56
2003.10.23
Хранимые процедуры