避免動態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】Oracle避免動態SQL,提高過程執行效率SQLOracle
- MyBatis 動態 SQLMyBatisSQL
- MybBatis動態SQLBATSQL
- Mybatics動態sqlBATSQL
- mybatis動態SQLMyBatisSQL
- MyBatis(七) 動態SQLMyBatisSQL
- 1 Mybatis動態SQLMyBatisSQL
- Mybatis--動態SQLMyBatisSQL
- mybatis動態sql總結MyBatisSQL
- Mybatis-06 動態SqlMyBatisSQL
- MyBatis框架之SQL對映和動態SQLMyBatis框架SQL
- MyBatis對動態SQL的支援MyBatisSQL
- mybatis動態sql與分頁MyBatisSQL
- Java-Mybatis動態SQL整理JavaMyBatisSQL
- Gbase 8s 動態 SQLSQL
- Mybatis介紹之 動態SQLMyBatisSQL
- APEX 通過PL/SQL動態展示區域中動態內容SQL
- 動態SQL-條件分頁SQL
- 動態 SQL 和快取機制SQL快取
- Mybatis 動態執行SQL語句MyBatisSQL
- day06-動態SQL語句SQL
- 介面的繫結方案和動態SQLSQL
- hive Sql的動態分割槽問題HiveSQL
- Myabtis動態SQL,你真的會了嗎?SQL
- 【MyBatis學習總結 (五),動態SQL】MyBatisSQL
- PHP--動態生成sql查詢表格PHPSQL
- Mybatis where 1=1 動態sql問題MyBatisSQL
- 如何追蹤laravel動態<二>Laravel
- MyBatis 動態 SQL 最全教程,這樣寫 SQL 太優雅了!MyBatisSQL
- [20180928]避免表示式在sql語句中.txtSQL
- SQL 如何實現動態的行列轉置SQL
- GaussDB資料庫SQL系列-動態語句資料庫SQL
- iOS 避免常見崩潰(二)iOS
- Mybatis 裡對映檔案的動態 SQL 語句,實現if,where,foreache的SQL語句動態拼接查詢MyBatisSQL
- SpringDataJpa (二)-動態查詢&多表操作Spring
- 動態庫的生成和使用(二)
- MyBatis標籤實現的動態SQL語句MyBatisSQL
- BIRT 中如何根據引數動態拼接 SQLSQL
- PL/SQL中動態掉用儲存過程SQL儲存過程