Funktion zum überprüfen von Benutzername und Kennwort in pl/sql

Ich bin neu in pl/sql und habe ein Hausaufgaben problem, dass ich habe, ganz fest auf.

Ich habe eine Tabelle namens BANKCUSTOMER mit den folgenden Spalten:

 USERNAME                                  NOT NULL VARCHAR2(11)
 FAMILY_NAME                               NOT NULL VARCHAR2(25)
 NAME                                      NOT NULL VARCHAR2(25)
 PASSWD                                    NOT NULL VARCHAR2(6)

Möchte ich eine Funktion, die prüft in der Datenbank, wenn die Benutzer BENUTZERNAMEN und das PASSWORT entspricht den Daten in der Datenbank. Wenn die Anmeldung erfolgreich ist, dann sollte es ausdrucken "Login erfolgreich!" sonst "Falscher Benutzername oder Passwort!"

Besuchte ich einen pl/sql tutorial-Seite und kam über den folgenden code die ich ein bisschen modifiziert, so kann es funktionieren mit meiner Datenbank, aber es ist etwas, was ich nicht verstehe, und das ist das, was z number tut und was begin select 1 into z tut. Könnte mir bitte jemand erklären für mich.

create or replace function log_in(x in varchar2, y in varchar2)   
return varchar2  
as  
  z number;  
begin  
  select 1  
    into z   
    from bankcustomer   
    where username=x   
    and passwd=y;  
  dbms_output.put_line('Login successful!');  
exception  
when no_data_found then  
  dbms_output.put_line('Wrong username or password!'); 
end; 

Ich würde gerne testen Sie die Funktion durch schreiben SELECT log_in() FROM dual; um zu sehen, ob es funktioniert. Wenn ich Schreibe SELECT log_in() FROM dual; bekomme ich eine Fehlermeldung, die besagt:

Fehler, beginnend bei Zeile 1 in Befehl:
WÄHLEN Sie log_in() VON dual
Fehler bei der Kommando-Zeile:1 Spalte:7
Fehlermeldung:
SQL-Fehler: ORA-06553: PLS-306: falsche Anzahl oder Typen der Argumente im Aufruf von 'LOG_IN'
06553. 00000 - "PLS-%s: %s"
*Ursache:

*Aktion:

Wie kann ich dieses Problem lösen Hausaufgaben problem?

Sorry für meine newbie-Fragen (hoffe, dass ich lernen kann, damit kann ich anderen helfen, in der Zukunft).
Vielen Dank im Voraus!

InformationsquelleAutor Posidon | 2012-02-18
Schreibe einen Kommentar