2016-09-13 2 views
0

Ich versuche, den Vornamen, Nachnamen und Gehalt der Mitarbeiter über dbms_Sql-Paket abrufen. Der folgende Code wird erfolgreich ausgeführt, aber keine Details werden gedruckt.
Gestellte Ausgang:
König Artur 15000
................
Jimmy Fallon 16000
Stromausgang:
PL/SQL-Prozedur erfolgreich abgeschlossen .keine Daten in dbms_output beim Abrufen über DBMS_SQL

declare 
SH integer ; 
output binary_integer; 
-- 
Salary number(10) := 10000; 
l_firstname varchar2(50); 
l_lastname varchar2(50); 
l_salary number(10); 
begin 
-- 
SH := dbms_Sql.open_cursor; 
dbms_sql.parse(SH,'select first_name,last_name,salary from employees 
where salary > :salary_value',DBMS_SQL.NATIVE); 

dbms_sql.bind_variable(SH,':salary_value',salary); 

dbms_Sql.define_column(SH,1,l_firstname, 30); 
dbms_sql.define_column(sh,2,l_lastname, 30); 
dbms_sql.define_Column(sh,3,l_salary); 

output := dbms_Sql.execute(SH); 

<<dbms_Sql_loop>> 
loop 

exit when dbms_sql.fetch_Rows(SH) = 0; 

/* 
||Retrieve data 
|| 
*/ 
dbms_output.put_line(l_firstname ||' '||l_lastname||' ' || l_salary); 

dbms_Sql.define_column(SH,1,l_firstname, 30); 
dbms_sql.define_column(sh,2,l_lastname, 30); 
dbms_sql.define_Column(sh,3,l_salary); 

end loop dbms_Sql_loop; 

dbms_Sql.close_cursor(SH); 
end; 
/

Antwort

0

Ich war dbms_Sql.define_colum statt dbms_Sql.column_value verwenden. ersetzen Sie es und es funktioniert jetzt gut.

Verwandte Themen