Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
ВнизГлюк QA? Найти похожие ветки
← →
Ega23 © (2006-02-10 15:12) [0]есть процедура:
Print "S_AccountProc - процедура для работы с системой доступа"
go
if exists (select * from sysobjects where id = object_id(N"[S_AccountProc]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [S_AccountProc]
GO
CREATE PROCEDURE S_AccountProc
@ActNam varchar(32)="NONE",
@LoginNam varchar(16) ="",
@Passwd varchar(16) ="",
@PCNam varchar(32) ="",
@DatIn datetime =0,
@AccID int =-1,
@RoleID int =-1,
@ArmID int =-1,
-- Остальные входные параметры (для Select"ов)
@ObjID int = -1,
@OutMess varchar(8000) ="" output,
-- Debug Information
@SelOut int = 1,
@Debug int =0
As
declare
@LogObjGUID uniqueidentifier,
@result int,
@x int,
@DatOut0 datetime,
@PersNam varchar(255),
@ARMNam varchar(255),
@RoleNam varchar(255);
Set NoCount ON;
Set @Result=0;
Set @OutMess="";
Select @ActNam=RTrim(LTrim(UPPER(@ActNam)));
--------------------------------------------------------------------------------------------------------------
if @ActNam="DOLOGIN"
begin
Set @AccID=-1;
Select @AccID=ObjID
from Account
where LoginNam=@LoginNam;
if @AccID=-1
begin
Set @OutMess="Пользователь не зарегистрирован";
Goto Fin_DOLOGIN
end;
Set @AccID=-1;
Select @AccID=ObjID
from Account
where LoginNam=@LoginNam and Passwd=@Passwd;
if @AccID=-1
begin
Set @OutMess="Неверный пароль";
Goto Fin_DOLOGIN
end;
Set @AccID=-1;
Select @AccID=ObjID
from Account
where LoginNam=@LoginNam and Passwd=@Passwd and DatOut>getdate();
if @AccID=-1
begin
Set @OutMess="Срок действия учётной записи истёк";
Goto Fin_DOLOGIN
end;
Select @PersNam=P.PersNam1+" "+P.PersNam2+" "+P.PersNam3
from Pers P, Account A
where P.PersID=A.PersID and A.ObjID=@AccID;
........................
Fin_DOLOGIN:
Set NoCount OFF;
Select AccID=@AccID, RoleID=@RoleID, ARMID=@ARMID, OutMess=@OutMess;
Goto Fin;
end;
--------------------------------------------------------------------------------------------------------------
fin:
set nocount off;
return(@result);
GO
Таблица Account в базе присутствует.
Меняю
Select @AccID=ObjID
from Account
where LoginNam=@LoginNam;
на
Select @AccID=ObjID
from Accountволпоыаои
where LoginNam=@LoginNam;
и по F5 загоняю процедуру на сервер.
Ошибок не выдаёт.
Ошибка выдаётся только при попытке выполнения SP.
Вопрос: в чём дело???
← →
paul_k © (2006-02-10 15:30) [1]При создании процедуры наличие таблиц не проверяется. проверяется только при исполнении
то есть
create proc ff
as
select* from blablabla
отработает на ура.
а вот то, что таблицы такой нет ты узнаешь только запустив процедуру
← →
Ega23 © (2006-02-10 15:31) [2]Блин, ну раньше, вроде, проверка-то была? Или у меня глюки???
← →
Bless © (2006-02-10 15:42) [3]Имхо, проверки на существование таблицы не было.
Вот столбцы проверяло
Т.е.select * from tab1
- не ругается, если tab1 нетselect * from tab1 where column1=10
- ругается, если таблица tab1 есть, а столбца column1 нет.
Кажись так.
← →
Ega23 © (2006-02-10 15:45) [4]Значит у меня глюки...
Понятно...
← →
Nikolay M. © (2006-02-10 15:52) [5]
> Блин, ну раньше, вроде, проверка-то была?
Не было. А поскольку план выполнения строится при первом запуске ХП (при отсутствии поции WITH RECOMPILE), а не при ее создании, то ошибка появляется именно при запуске.
← →
Ega23 © (2006-02-10 15:56) [6]
> при отсутствии поции
Хорошая очепятка... :о)
← →
Nikolay M. © (2006-02-10 16:10) [7]
> Ega23 © (10.02.06 15:56) [6]
>
> > при отсутствии поции
>
> Хорошая очепятка... :о)
Гы :))
Вот ведь бывает :)
← →
Nikolay M. © (2006-02-10 16:38) [8]Все, Олег, ты теперь начинающий :))))
Можешь выкинуть свои 5 (или сколько) лет опыта с МС СКЛ :)
← →
Ega23 © (2006-02-10 17:35) [9]
> Все, Олег, ты теперь начинающий :))))
> Можешь выкинуть свои 5 (или сколько) лет опыта с МС СКЛ
> :)
Да ты знаешь, я не в претензии. Начинающий - так начинающий.
В конечном итоге важен результат, не так ли?
:-)))
← →
Nikolay M. © (2006-02-10 17:43) [10]Ага, все-таки из начинающих в треп положили :)
> В конечном итоге важен результат, не так ли?
Ессесно :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.021 c