1樓:匿名使用者
create or replace procedure bak_table_info(tablename in varchar2(50))
issql varchar2(200);
out_mes varchar2(200);
begin
sql='select * from'||tablename;
execute immediate sql into out_mes;
dbms_output.put_line(out_mes);
end;/呼叫
sql>exec bak_table_info('emp');4
2樓:匿名使用者
你這麼寫會報錯,應該這麼寫
create or replace procedure bak_table_info(tablename in varchar2(50))
isv_c1 varchar2(100);
begin
sql='select 欄位1 from '||tablename;
execute immediate sql into v_c1;end
3樓:大海燎原
1、在is後新增 變數 申明 sql varchar2(200);
2、sql='select * from'||tablename;
應修改為 sql:='select * from'||tablename;
3、end 後加;
4樓:匿名使用者
可以呼叫 沒問題的 只要當前使用者可以訪問這個table
oracle 求一儲存過程帶輸入輸出引數 並且呼叫的例項
5樓:匿名使用者
下面的例子**, 僅僅用於演示 in out , 沒有任何資料庫檢索的處理。
注:oracle 的 in out 寫在變數名後面。
sql> create or replace procedure helloworld2 (
2 p_user_name in varchar2,
3 p_out_val out varchar2,
4 p_inout_val in out varchar2
5 ) as
6 begin
7 dbms_output.put_line('hello ' || p_user_name || p_inout_val || '!');
8 p_out_val := 'a';
9 p_inout_val := 'b';
10 end helloworld2;
11 /
procedure created.
sql> declare
2 p_outval varchar2(10);
3 p_inoutval varchar2(10) := '~hi~';
4 begin
5 helloworld2('edward', p_outval, p_inoutval);
67 dbms_output.put_line('p_outval=' || p_outval);
8 dbms_output.put_line('p_inoutval=' || p_inoutval);
9 end;
10 /
hello edward~hi~!
p_outval=a
p_inoutval=b
pl/sql procedure successfully completed.
sql>
oracle 中怎麼建立一個查詢的帶引數儲存過程,給個事例
6樓:
給你示例你參考下:
----------------------------建立儲存過程:
create or replace procedure p_name--儲存過程名字
(i_var in int, --輸入引數1
o_var out varchar2 --輸出引數1)is
v_str varchar2(200); --定義儲存過程內部的區域性變數
begin
--下面是儲存過程的主體實現部分
v_str := i_var;
dbms_output.put_line(v_str);
o_var := v_str;
exception--錯誤異常處理部分
when others then
dbms_output.put_line(sqlerrm);--列印錯誤資訊
end p_name;
-----------------------------------呼叫儲存過程示例:
declare
v_in int;
v_out varchar2(50);
begin
v_in :=100;
p_name (v_in,v_out); --呼叫儲存過程p_name
dbms_output.put_line('儲存過程輸入結果為:'||v_out);
exception--錯誤異常處理部分
when others then
dbms_output.put_line(sqlerrm);--列印錯誤資訊
end;
oracle資料庫儲存過程例項
7樓:匿名使用者
我給你一個,例子你練習一下,簡單迴圈從emp 表中取出某一部門的員工姓名,工資,然後插入到一張你新建立的一個表 new_emp 中。
8樓:請叫我召哥
建立儲存過程的語句如下:
create[or replace] procedure<過程名><引數1>,「方式l]<資料型別1>,
<引數2>,[ 方式2]<資料型別2>,
……)is|as (is或as完全等價)
begin
pl/sql過程體
end<過程名>
例如,下面是一個刪除表的儲存過程:
--引數:tablename 要刪除的表名create or replace procedure del_table(tablename varchar2) as
--定義變數
sql_del_table long;
begin
--構造sql語句
sql_del_table := 'drop table ' || tablename;
--執行
execute immediate sql_del_table;
end del_table;
急求!怎麼建立oracle儲存過程(例項)
9樓:殤忄路
--建立儲存過程 in_sheetid 為輸入引數
create or replace procedure st_receipt(in_sheetid varchar2) is
begin
--將 receipt0表中資料插入 receipt
insert into receipt
select * from receipt0 where sheetid = in_sheetid;
--更新receipt表中flag值
update receipt set flag = 100 where sheetid = in_sheetid;
--insert into receiptitem
select * from receiptitem0 where sheetid = in_sheetid;
--刪除receiptitem0表資料
delete from receiptitem0 where sheetid = in_sheetid;
--刪除 receipt0表資料
delete from receipt0 where sheetid = in_sheetid;
end;
--呼叫儲存過程
begin
st_receipt('ys141128');
end;
--或者
exec st_receipt('ys141128');
oracle帶輸入引數的儲存過程 10
10樓:匿名使用者
mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地
oracle 儲存過程報錯 pls 00103 求查錯
其中username counter rolename 是傳入引數,傳入引數不能賦值,即第7 8行語句有問題,建議刪除。建議在plsql工具中編輯,方便。擴充套件資料 儲存過程 stored procedure 是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,儲存在資料庫中,經過第一次編...
sqlserver中的儲存過程的日期引數怎麼賦當前日期
執行下面的儲存過程即可 select name create date modify date from sys objects where type p order by modify date desc 如果想找到更多的被修改過的儲存過程 使用者表 自定義函式,觸發器,可以執行下面的sql語句 ...
oracle定義儲存過程時什麼時候需要使用
oracle 的儲存過程裡沒有declare的語法,觸發器和plsql塊才是declare 如果要定義變數,後面直接跟is的 create or replace procedure c ispara number begin end 你在寫儲存過程的時候是 create or replace p n...