【轉義】使用SQL生成SQL語句時單引號的轉義處理
“使用SQL語句生成SQL語句”是一個非常實用的技巧。在感受這個技巧帶給我們便利的同時,也要注意使用過程中的一個小攔路虎——對“單引號”的特殊處理。
我們需要對單引號給予特殊的關照,Oracle在單引號中轉義單引號的方法:兩個單引號表示一個單引號。
1.用實際的例子來演示一下
sec@ora10g> col "What's your name?" for a30
sec@ora10g> select 'I''m SECOOLER.' "What's your name?" from dual;
What's your name?
------------------------------
I'm SECOOLER.
2.我們使用這個小技巧生成一份分析SEC使用者下所有表的SQL語句(可以按需定製)
sec@ora10g> SET LIN 300
sec@ora10g> SET HEAD OFF
sec@ora10g> select 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'
2 || ''''
3 || OWNER
4 || ''''
5 || ',TABNAME=>'
6 || ''''
7 || TABLE_NAME
8 || ''''
9 || ',METHOD_OPT=>'
10 || ''''
11 || 'FOR ALL COLUMNS SIZE 254'
12 || ''''
13 || ',DEGREE=>4,CASCADE=>TRUE);'
14 from DBA_TABLES
15 where WNER = 'SEC';
EXECUTE DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'SEC',TABNAME=>'T',METHOD_OPT=>'FOR ALL COLUMNS SIZE 254',DEGREE=>4,CASCADE=>TRUE);
……
3.小結
只要掌握了單引號的轉義規則,加上一點點的細心,這個著名的SQL生成SQL的小技巧就盡收囊中了。
Good luck.
secooler
10.02.28
-- The End --
我們需要對單引號給予特殊的關照,Oracle在單引號中轉義單引號的方法:兩個單引號表示一個單引號。
1.用實際的例子來演示一下
sec@ora10g> col "What's your name?" for a30
sec@ora10g> select 'I''m SECOOLER.' "What's your name?" from dual;
What's your name?
------------------------------
I'm SECOOLER.
2.我們使用這個小技巧生成一份分析SEC使用者下所有表的SQL語句(可以按需定製)
sec@ora10g> SET LIN 300
sec@ora10g> SET HEAD OFF
sec@ora10g> select 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'
2 || ''''
3 || OWNER
4 || ''''
5 || ',TABNAME=>'
6 || ''''
7 || TABLE_NAME
8 || ''''
9 || ',METHOD_OPT=>'
10 || ''''
11 || 'FOR ALL COLUMNS SIZE 254'
12 || ''''
13 || ',DEGREE=>4,CASCADE=>TRUE);'
14 from DBA_TABLES
15 where WNER = 'SEC';
EXECUTE DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'SEC',TABNAME=>'T',METHOD_OPT=>'FOR ALL COLUMNS SIZE 254',DEGREE=>4,CASCADE=>TRUE);
……
3.小結
只要掌握了單引號的轉義規則,加上一點點的細心,這個著名的SQL生成SQL的小技巧就盡收囊中了。
Good luck.
secooler
10.02.28
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-628186/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉義】使用SQL生成SQL語句時單引號的轉義處理之q'{}'方法SQL
- 通過xml處理sql語句時對小於號與大於號的處理轉換XMLSQL
- oracle動態sql語句處理(轉)OracleSQL
- Oracle一個SQL語句的處理過程(轉)OracleSQL
- SQL查詢語句使用 (轉)SQL
- url地址中 "&" "/"等符號的轉義處理(轉)符號
- 單引號在動態SQL中的處理SQL
- 自定義註解例項實現SQL語句生成SQL
- 簡單SQL語句小結(轉)SQL
- 查詢處理死鎖會話的sql語句(轉貼)會話SQL
- 精妙SQL語句 (轉)SQL
- 在ORACLE SQL語句中,單引號和雙引號的使用OracleSQL
- SQL語句的處理過程SQL
- SQL語句中的單引號與雙引號SQL
- 使用SQL語句獲取SQLite中的表定義SQLite
- informix SQL語句斷點定義ORMSQL斷點
- 使用預處理PreparedStatement執行Sql語句SQL
- SQL語句的處理過程修正SQL
- [轉]SQL Server 2000定時執行SQL語句SQLServer
- 動態SQL語句 (轉)SQL
- 使用 pymysql 的時候如何正確的處理轉義字元MySql字元
- Oracle SQL精妙SQL語句講解(轉)OracleSQL
- Oracle q' 簡化單引號轉義介紹Oracle
- 定時生成分月表sql語句SQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- Oracle 行轉列的sql語句OracleSQL
- 【Tips】使用SQL生成外來鍵的SQL建立語句SQL
- 有關PHP、HTML單引號、雙引號轉義以及轉成HTML實體的那些事!PHPHTML
- SQL查詢的轉義方法(一)SQL
- Sybase及SQL Anywhere SQL語句小結(轉)SQL
- SQL語句優化(轉載)SQL優化
- TSM裡面的sql語句(轉)SQL
- SQL查詢語句精華使用簡要(轉)SQL
- zsh 命令在 alias 中如何轉義 ' 字元(單引號)字元
- ASP中巧用Split()函式生成SQL查詢語句 (轉)函式SQL
- jsqlparser使用記錄---生成sql語句JSSQL
- mybatis大於號,小於號,去地址符,單引號,雙引號轉義說明MyBatis
- Oracle EXECUTE IMMEDIATE語句裡面的引號處理Oracle