當前位置:首頁 » 編程語言 » sql拼接oracle
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql拼接oracle

發布時間: 2022-12-19 15:04:42

Ⅰ 關於oracle存儲過程中的sql拼接,大神進!!!

procere proc_test(
in_id in varchar2,
out_sum out varchar2
) as
begin
execute immediate 'select count(*) from table_name '||in_id into out_sum;
end;
/
sqlplus里調用時:
var out_sum varchar2(10)
exec package_name.proc_test('where id=''XXX'' or 1=1',:out_sum)
print out_sum

Ⅱ 求助一個oracle中sql語句動態拼接的問題

MSSQL到ORACLE還是有不小的差距。
如果在MSSQL里,可以這樣:
declare @sql nvarchar(max);
declare @tableName nvarchar(100);
set @sql = 'OPEN PCURSOR FOR
SELECT T.ID as OBJECTID,T.SHAPE.GET_WKT() as COORD
FROM ' + @tableName + ' T
WHERE instr(@OBJIDS,'',''||TO_CHAR(ID)||'','')>0';
sp_execute @sql, @OBJIDS=OBJIDS
(沒用Sql驗證,單詞拼寫可能有錯誤,語法也可能有錯誤)

Ⅲ oracle sql欄位值拼接問題

SELECT LPAD(CLO_NAME,LENGTH(CLO_NAME)+CLO_NUM) FROM TABLE_NAME

Ⅳ oracle 存儲過程執行動態sql實例

oracle的動態sql是指在語句塊使用execute immediate 執行sql語句,sql語句可以使用存儲過程傳的參數進行拼接,本文針對varchar2和number兩種類型的參數類型,進行sql拼接並執行。

功能:輸入日期區間,銷售數量滿足上限和下限的產品id

1.正常傳值

輸出結果

2.若果number類型的參數傳空,會報ora-00936:缺失表達式,可以在存儲過程中增加對參數null值的判斷

oracle 動態拼接傳入參數,varchar2類型可以使用'''|| IN_START_DTIME || ''' ,number類型可以使用'||IN_DOWN_LIMIT||' ; 拼接的過程需要注意校驗參數的合法性,增加存儲過程的容錯性。臨時表使用了會話級,存儲過程執行完,可以通過查詢存儲過程獲取結果。

Ⅳ oracle 在PLSQL腳本中如何表名稱與數字字元串拼接

使用plsql存儲過程製造一個腳本如:

create or replace procere test_val

(etl_date varchar2, --時間或者數字變數

data out sys_refcursor ---存放數據

) as

s_sql varchar2(1000); --執行sql

begin

s_sql := 'SELECT A,B FROM tsalpludetail' || etl_date ;

--dbms_output.put_line(s_sql);----列印sql可以不需要

open data for s_sql; ---把結果集放入data

end test_val;

執行後,打開存儲過程

至此完成

Ⅵ oracle中sql語句如何動態拼接

因為'x'||to_char(sysdate,'dd')=『xxxx』這個條件不滿足,所以查詢不到數據。
'x'||to_char(sysdate,'dd')明顯不等於'xxxx',能查詢到數據就是怪事了。
如果你想查詢到數據,必須保證'x'||to_char(sysdate,'dd')的值等於'xxxx'
就拿今天來說'x'||to_char(sysdate,'dd')的值肯定是x24。
'xxxx'的值是為xxxx,不等於x24。肯定查詢不到數據。
你這個語句就跟
select name from A where 1>2這個語句的效果一樣。
如果你的xxxx表示你表中的一個欄位,比如X1,X2..X31,
如:
select name from A where 'x'||to_char(sysdate,'dd')=x24;
你做關聯的是用你的欄位名,但是判斷取值的是時候,卻是取的x24這一列裡面的值。
如果x24這一列裡面有一列的值是x24,肯定查得出數據,如果沒有,肯定就查不出來,
你先確實有沒得x24這條數據記錄了來。。

Ⅶ oracle 求sql拼接方式

oracle中只有這樣的拼接了,除非你想用concat。不過此處concat肯定不適合你。

到到效果就可以了,而且性能還不差,何必一定要用append呢。

declare
avarchar2(100);
bvarchar2(100);
cvarchar2(100);
strvarchar2(32767);
inumber;
begin
str:='';
a:='aa';
b:='bb';
c:='cc';
loop
i=i+1;

ifi=1then
str:=a||b;
else
str:=str||c;
endif;

exitwheni=100;
endloop;
dbms_output.put_line(str);
end;