我在PL/SQL中有這樣一段關于DBMS_SQL用法的代碼;當我分配字串sqlString時,":sal "是做什么的?
DECLARE
sqlString VARCHAR2(100)。
c INTEGER;
rows_processed INTEGER;
max_salary INTEGER;
BEGIN
max_salary := 10000;
sqlString := 'DELETE FROM employees WHERE salary > :sal';
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, sqlString, DBMS_SQL.NATIVE)。
DBMS_SQL.BIND_VARIABLE(c, ':sal', max_salary) 。
rows_processed := DBMS_SQL.EXECUTE(c)。
DBMS_OUTPUT.PUT_LINE(' Impiegati cancellati: || rows_processed)。)
DBMS_SQL.CLOSE_CURSOR(c)。
END。
uj5u.com熱心網友回復:
這一點在這里得到了很好的解釋:
http://www.dba-oracle.com/t_plsql_dbms_sql_bind_variable.htm
它只是將 "max_salary "的值分配給sal變數。這用于動態 SQL 程序。
代碼正在執行 "最大工資 "的值。
該代碼正在執行這個查詢(sal = max_salary = 10000):
DELETE FROM employees WHERE salary > 10000
最后,它顯示了有多少條記錄被洗掉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/322144.html
標籤:
上一篇:按2欄分組的專案
