ORACLE 動態SQL 轉義字元 單引號
指令碼內容:業務部門需要定期從某庫取出質保資料:
cat zhibaodata.sh
#!/bin/sh
export DISPLAY=:0
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
sh /home/oracle/.bash_profile
Sql_Directory=/u01/temp/scripts/zhibaotable
sqlplus -s system/uiu @${Sql_Directory}/zhibaocreatetable.sh
cat zhibaocreatetable.sh
set serveroutput on
declare
v_date varchar2(8);
v_table1 varchar2(32);
v_table2 varchar2(32);
v_table3 varchar2(40);
v_table4 varchar2(32);
v_table5 varchar2(32);
v_table6 varchar2(32);
v_table7 varchar2(32);
v_table8 varchar2(32);
v_table9 varchar2(32);
v_table10 varchar2(32);
v_table11 varchar2(32);
v_table12 varchar2(32);
v_sqlt varchar2(2000);
v_sql1 varchar2(2000);
v_sql2 varchar2(2000);
v_sql3 varchar2(2000);
v_sql4 varchar2(2000);
v_sql5 varchar2(2000);
v_sql6 varchar2(2000);
v_sql7 varchar2(2000);
v_sql8 varchar2(2000);
v_sql9 varchar2(2000);
v_sql10 varchar2(2000);
v_sql11 varchar2(2000);
v_sql12 varchar2(2000);
v_sqlw varchar2(2000);
v_username varchar2(20);
v_userpasswd varchar2(20);
begin
select to_char(sysdate-10,'yyyymmdd') into v_date from dual;
v_username := 'lsp'||v_date;
v_userpasswd := 'sp'||v_date||'*';
v_table1 := 'user.SCCOUNT'||v_date;
v_table2 := 'user.SOUNT' ||v_date;
v_table3 := 'user.RESTLIT'||v_date;
v_table4 := 'useJNEE'||v_date;
v_table5 := 'user._FEE'||v_date;
v_table6 := 'user.N_SPLIT'||v_date;
v_table7 := 'useITAL_PC'||v_date;
v_table8 := 'user._CAPITAL_SD_PC'||v_date;
v_table9 := 'user.STEREST'||v_date;
v_table10 := 'user.SJM_NTEREST'||v_date;
v_table11 := 'user.SJM_FEE'||v_date;
v_table12 := 'user.STAL_DFCH'||v_date;
v_sqlt := 'create database link neworclau connect to '|| v_username ||' identified by '|| v_userpasswd || ' using '''||'audit'||''' ';
v_sql1 := 'create table '||v_table1||' as select * from [email protected] ' ;
v_sql2 := 'create table '||v_table2||' as select * from [email protected] ' ;
v_sql3 := 'create table '||v_table3||' as select * from [email protected] ' ;
v_sql4 := 'create table '||v_table4||' as select * from
v_sql5 := 'create table '||v_table5||' as select * from [email protected] ' ;
v_sql6 := 'create table '||v_table6||' as select * from [email protected] ' ;
v_sql7 := 'create table '||v_table7||' as select * from [email protected] ' ;
v_sql8 := 'create table '||v_table8||' as select * from
v_sql9 := 'create table '||v_table9||' as select * from [email protected] ' ;
v_sql10 := 'create table '||v_table10||' as select * from [email protected] ' ;
v_sql11 := 'create table '||v_table11||' as select * from [email protected] ' ;
v_sql12 := 'create table '||v_table12||' as select * from [email protected] ' ;
v_sqlw := 'drop database link neworclau ' ;
dbms_output.put_line(v_sqlt);
execute immediate v_sqlt;
dbms_output.put_line(v_sql1);
execute immediate v_sql1;
dbms_output.put_line(v_sql2);
execute immediate v_sql2;
dbms_output.put_line(v_sql3);
execute immediate v_sql3;
dbms_output.put_line(v_sql4);
execute immediate v_sql4;
dbms_output.put_line(v_sql5);
execute immediate v_sql5;
dbms_output.put_line(v_sql6);
execute immediate v_sql6;
dbms_output.put_line(v_sql7);
execute immediate v_sql7;
dbms_output.put_line(v_sql8);
execute immediate v_sql8;
dbms_output.put_line(v_sql9);
execute immediate v_sql9;
dbms_output.put_line(v_sql10);
execute immediate v_sql10;
dbms_output.put_line(v_sql11);
execute immediate v_sql11;
dbms_output.put_line(v_sql12);
execute immediate v_sql12;
dbms_output.put_line(v_sqlw);
execute immediate v_sqlw;
end;
/
exit;
相關推薦
ORACLE 動態SQL 轉義字元 單引號
指令碼內容:業務部門需要定期從某庫取出質保資料: cat zhibaodata.sh #!/bin/sh export DISPLAY=:0 if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi sh /home/
sql的轉義字元單引號
在SQL中,我們都知道單引號 ' 表示字串的開始和結束符號,如: select * from students where name = '小明'; 但如果字串裡面有單引號時,應該怎麼查詢呢? 這是我最近遇到的一個問題,需求是對一張表的資料進行更新,但各個環境的資料並不一致,只能通過拼接的方式
ORACLE 動態SQL中的多個單引號
今天在專案中遇到動態拼sql的語句, 語句如下: v_sql := 'update Table_Test t ' ||' set t.field1 = ''' || 變數1 || ''',' -- v_BalRuleID || v_Balance
Oracle 在字串中輸入單引號或特殊字元
-- Start 字串是用單引號括起來的,如果想在字串中輸入單引號該怎麼辦呢?有兩種方法。 方法一:是用兩個單引號代表一個單引號 [sql] view plain copy print? SELECT'I''m Shangbo'FROM DUAL; 方法二:使用 Oracle 特殊語法
儲存過程中動態拼接sql,拼接單引號問題
create or replace procedure mergerOrder( v_ids in varchar2, v_productCode in varchar2, v_productCateCode in varchar2)
linux就該這麽學-第4章 寫入、轉義、單引號、別名、全局變量
http ima src com 分享 全局變量 .com 文件 nbsp 一、寫入 1、> 清空寫入文件 2.>>追加寫入文件 3.2>>錯誤追加寫入文件 二、轉義 linux就該這麽學-第4章 寫入、轉義、單引號、別名、全局變量
在SQL server中單引號的使用--單引號裡面巢狀一層單引號
在使用SQL server時,遇到一個小問題:單引號裡面還要再加單引號,但是直接加會報錯。查了一些網上的解決方法。 select * from sysobjects where
SQL 轉義字元,字元轉譯
SQL裡面用單引號轉譯,比如我要把單引號轉譯就是連著打兩個單引號 比如在下面這個表裡面實現: -- 自動拼接uri入庫initQuestionList(question_id,'answer')形式的 UPDATE zt_question_answer SET uri = conc
一個Oracle動態SQL拼接
create or replace function getpjxfjd1(columnxh in varchar2,columnxnxq in varchar2,columntab in varchar2) return number is existsCol number(6,2)
SQL語句中單引號、雙引號和反引號的區分
單引號 ’ 和雙引號 “ 在標準 SQL 中,字串使用的是單引號。 如果字串本身也包括單引號,則使用兩個單引號(注意,不是雙引號,字串中的雙引號不需要另外轉義)。 MySQL對 SQL 的擴充套件,允許使用單引號和雙引號兩種。 反引號 ` 反引號一般在Esc鍵的下方,和~在一起。它是為了區分MySQ
機房收費系統之收取金額查詢(TPicker控制元件時間段取值、SQL語句中單引號與雙引號區別)
收取金額查詢窗體較組合查詢而言就是小菜一碟,但即便是內容較少也有其精華之處,現在分享一下我的學習過程吧^_^ 一、收取金額查詢窗體的流程圖: 二、問題集 這是什麼錯誤呢,為什麼會出現這個型別的錯誤? 產生此問題的程式碼部分是什麼樣子的呢? 以
Oracle動態sql,觸發器,函式,exists
1.動態SQL 後期聯編(late binding),即SQL語句只有在執行階段才能建立,例如當查詢條件為使用者輸入時,那麼Oracle的SQL引擎就無法在編譯期對該程式語句進行確定,只能在使用者輸入
Oracle動態SQL語句
在使用ODP.NET進行Oracle程式設計時,有時候SQL語句非常複雜,需要採用動態構造查詢語句的情況,有兩種方法可以構造動態的SQL語句,並執行返回結果集。 1、在資料訪問層構造SQL語句 例如下面的語句,將構造完整的SQL語句賦值給CommandText,再傳遞到資料庫進行執行,返回結果集。 loa
oracle 動態SQL在儲存過程中的使用
1、 靜態SQL和動態SQLOracle編譯PL/SQL程式塊分為兩個種(其它SQL程式碼塊包括儲存過程也是如此):其一為前期聯編(early binding),即SQL語句在程式編譯期間就已經確定,大多數的編譯情況屬於這種型別;另外一種是後期聯編(late bin
Oracle 動態SQL實現SQL查詢子集行轉列
引言 我們都知道Oracle的Pivot的In()裡是不能跟SQL查詢語句的,必須是已知的字串結果,然而我專案中遇到的需求這個In 並不是靜態的,而是根據我傳遞的條件來篩選,一開始想的是解析XML,可惜轉為XML之後,有相同的重複的節點,解析太麻煩,於是想通過
oracle動態sql以及繫結變數
實現動態SQL有兩種方式:DBMS_SQL和本地動態SQL(EXECUTE IMMEIDATE) 。 oracle從8代開始就提供了新的執行動態sql的功能:execute immeidate v_sql using *** into ***; 本地動態
SQL中的單引號
呵呵,今晚用ASP寫了個將本地資料夾中的文字檔案自動入庫的程式,發現SQL語句中單引號真是奇怪。 待入庫的內容中含有單引號時,則構建的SQL語句出錯,無法實現入庫操作。 而我又不想將 ' 替換成 ' --這樣相當於篡改了入庫內容,不是我所想要的。 最後發現將 ' 替換成 '' 的話,則可成功入
shell轉義,單引號與雙引號,反撇號
http://www.cnblogs.com/mydomain/archive/2011/10/15/2213017.html 1、轉義 單引號和雙引號都能關閉shell對特殊字元的處理。不同的是,雙引號沒有單引號嚴格,單引號關閉所有有特殊作用的字元,而雙引號
oracle 動態sql引數帶date型別無法執行的問題
之前在寫儲存過程時,我有一個目的是通過開始時間和結束時間來建立一個檢視,於是我這麼寫了一個過程: procedure prc_CreateViewOBookTcert(p_startdate in date, --統計的開始日期
ORACLE(PL/SQL) 根據字元分割(SPLIT)字串返回陣列
ORACLE沒有提供現成的函式來進行字串的分割,網上有很多中現實方法,本文介紹一種我自己的實現方式。主要是使用Oracle內部函式instr和substr函式的方式來實現。 CREATE OR REP