2014-11-14 2 views
0

나는 함수를 만들었는데, 이는 맞지만 트리거에서 호출하는 방법을 모르겠다 고 생각합니다. 나는 트리거가 잘못 알고하지만 난 기능을 시도했다 이잖아 :트리거에서 함수 사용하기

create or replace function log_in(pass in varchar2, user in varchar2) 
return number 
is 
    match_count number; 
begin 
    select count(*) 
    into match_count 
    from Member 
    where username=user 
    and password=pass; 
    return match_count; 
end; 

트리거 : 나는 모든 로그인 시도가 실패 있으리라 믿고있어

create or replace TRIGGER PASSWORDCHECK 
BEFORE INSERT OR UPDATE ON Login 
FOR EACH ROW 
DECLARE 
usern VARCHAR2(12); 
pass VARCHAR2(12); 
result number; 
BEGIN 
usern := :new.username; 
pass := :new.password; 
/*Select LOG_IN(pass,usern)INTO result From MEMBER Where usern = Username;*/ 
result := LOG_IN(pass,usern); 
If result = 1 THEN 
dbms_output.put_line('Login Succesful'); 
ElsIF result = 0 THEN 
dbms_output.put_line('Login Failed'); 
END IF; 
END; 
+1

을 반환이 확률이 낮다으로

SQL> select user from dual; USER ------------------------------ REF 

:

사용자는 현재의 스키마를 식별하는 키워드이다 ? –

+0

죄송합니다 자사의 오라클 메신저를 사용하여, 내가 무엇을 찾고 있다고 생각합니다 – user3433399

+0

아가야 트리거에서 dbms_output을 호출하고 있습니까? 정상적으로 볼 수있는 것은 없습니다. – OldProgrammer

답변

0

? 이 사용자의 이름이 같은 스키마로 카운트가 항상이 무엇 RDBMS 0