避免動態SQL(二)
案例2
說明如何在特定的情況下,將動態SQL修改為靜態SQL。
說明如何在特定的情況下,將動態SQL修改為靜態SQL。
點選(此處)摺疊或開啟
-
CREATE OR REPLACE PROCEDURE proc1(p_cname VARCHAR2, p_empno NUMBER)
-
IS
-
v_value VARCHAR2(100);
-
BEGIN
-
--使用動態SQL
-
EXECUTE IMMEDIATE \'SELECT \' || p_cname || \' FROM emp WHERE empno = :x\' INTO v_value USING p_empno;
-
dbms_output.put_line(\'Dynamic SQL: \' || v_value);
-
--修改為靜態SQL
-
SELECT DECODE(UPPER(p_cname), \'ENAME\', ename, \'EMPNO\', empno, \'HIREDATE\', to_char(hiredate, \'YYYY-MM-DD\'))
-
INTO v_value FROM emp WHERE empno = p_empno;
-
dbms_output.put_line(\'Static SQL: \' || v_value);
-
END;
-
/
-
-
set serveroutput on
-
exec proc1(\'hiredate\', 7788);
-
-
Dynamic SQL: 19-APR-87
-
Static SQL: 1987-04-19
-
-
-
exec proc1(\'ename\', 7788);
-
-
Dynamic SQL: SCOTT
- Static SQL: SCOTT
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1071379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 避免動態SQL(一)SQL
- 【SQL】Oracle避免動態SQL,提高過程執行效率SQLOracle
- 動態SQLSQL
- 動態SQL intoSQL
- SQL限制條件應儘量避免使用SYSDATE(二)SQL
- MyBatis 動態 SQLMyBatisSQL
- MybBatis動態SQLBATSQL
- Mybatics動態sqlBATSQL
- ABAP 動態 SQLSQL
- Oracle 動態SQLOracleSQL
- mybatis動態SQLMyBatisSQL
- PLSQL Language Referenc-PL/SQL動態SQL-何時需要動態SQLSQL
- PL/SQL執行動態SQLSQL
- 1 Mybatis動態SQLMyBatisSQL
- Mybatis--動態SQLMyBatisSQL
- MyBatis(七) 動態SQLMyBatisSQL
- 動態sql 報表SQL
- PLSQL Language Referenc-PL/SQL動態SQL-本地動態SQL(EXECUTE IMMEDIATE語句)SQL
- PL/SQL 動態sql語句例SQL
- pl/sql--動態SQL常用方法SQL
- 動態sql和利用動態sql解決資料字典的讀取SQL
- mybatis動態sql總結MyBatisSQL
- Mybatis-06 動態SqlMyBatisSQL
- Mybatis 動態 SQL 詳解MyBatisSQL
- SqlServer中的動態SqlSQLServer
- Kettle實現動態SQLSQL
- SQL SERVER 動態查詢SQLServer
- MyBatis4:動態SQLMyBatisSQL
- 動態sql無法recoverSQL
- 用動態SQL語句SQL
- 動態SQL語句 (轉)SQL
- SQL Server動態SQL,繫結變數SQLServer變數
- 繫結變數在靜態sql和動態sql中變數SQL
- 動態SQL——構造通用動態頁面查詢SQL
- oracle procedure plsql 動態sql之動態傳遞表OracleSQL
- PLSQL Language Referenc-PL/SQL動態SQL-練習:在動態SQL塊中呼叫子程式。SQL
- MyBatis框架之SQL對映和動態SQLMyBatis框架SQL
- Mybatis介紹之 動態SQLMyBatisSQL