1、首先打開oracle數(shù)據(jù)庫,如下圖所示。
目前成都創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、通江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
2、在Oracle中,對(duì)于函數(shù)的變量賦值,通常有三種方法來進(jìn)行處理,直接賦值的方法,可以在聲明變量的時(shí)候直接給變量進(jìn)行賦值。
3、其次,可以使用SELECT語句對(duì)變量進(jìn)行賦值,主要是SELECT INTO語句,如下代碼示例,將變量v_minvar賦予Min(t.sal)的值。
4、最后就是動(dòng)態(tài)SQL語句賦值了,如下代碼。
1、創(chuàng)建測(cè)試表,
create table test_val(id varchar2(20),remark varchar2(20));
2、插入測(cè)試數(shù)據(jù);
insert into test_val select level, 'lvl_'||level remark from dual connect by level=100;
commit;
3、編寫語句,將表中的記錄數(shù)賦值給變量;
declare
v_int number;
begin
execute immediate 'select count(*) from test_val' into v_int;
end;
4、將變量值打印,查看結(jié)果;
dbms_output.put_line(v_int);
可用DBMS_OUTPUT.PUT_LINE()對(duì)存儲(chǔ)過程的進(jìn)行輸出。
編寫存儲(chǔ)過程:
create or replace procedure test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 M then
dbms_output.put_line('輸出SQL語句1');
elsif M 3 then
dbms_output.put_line('輸出SQL語句2');
else
dbms_output.put_line('nothing');
end if;
end;
擴(kuò)展資料;
存儲(chǔ)在數(shù)據(jù)庫的數(shù)據(jù)字典中,存儲(chǔ)在當(dāng)前的應(yīng)用中安全性由數(shù)據(jù)庫提供安全保證,必須通過授權(quán)才能使用存儲(chǔ)子程序,安全性靠應(yīng)用程序來保證,如果能執(zhí)行應(yīng)用程序,就能執(zhí)行該子程序。模式描述IN參數(shù)用來從調(diào)用環(huán)境中向存儲(chǔ)過程傳遞值,不能給IN參數(shù)賦值,給此參數(shù)傳遞的值可以是常量、有值的變量、表達(dá)式等。
參考資料來源:百度百科-Oracle存儲(chǔ)過程
oracle變量賦值及打印需要用存儲(chǔ)過程實(shí)現(xiàn)。
如:
declare
v_begintime?varchar2(20);
v_endtime?varchar2(20);
v_str?varchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-dd?hh24:mi:ss');
select?'badkano'?into?v_str?from?dual;--為v_str變量賦值
v_endtime:=to_char(sysdate,'yyyy-mm-dd?hh24:mi:ss');
dbms_output.put_line(v_str||'執(zhí)行存儲(chǔ)過程開始時(shí)間為:'||v_begintime);--打印
dbms_output.put_line(v_str||'執(zhí)行存儲(chǔ)過程結(jié)束時(shí)間為:'||v_endtime);--打印
end;
執(zhí)行結(jié)果: