创建存储过程以及使用游标卡尺:
CREATE OR REPLACE PROCEDURE pro_my_name(param1 in varchar2,param2 out varchar2) as
v_cnt number; --定义变量1
tablename1 varchar2(80); --定义变量2
sqlTxt varchar2(2000); --定义变量2
BEGIN
--定义游标
cursor c_tab_temp1 is
select t.modelnumber, t.tablename from d_modelmap t;
c_bom_row1 c_tab_temp1%rowtype;
--处理逻辑
--循环游标
for c_bom_row1 in c_tab_temp1 loop
tablename1 := c_bom_row1.tablename; --取游标中的值
END LOOP;
commit; --提交事务
Exception
When others then
Dbms_output.Put_line(sqlerrm); --打印输出错误
Rollback; --回滚事务
END;
创建方法 去除中文方法:
create or replace function f_deal_off_chinese(x varchar)
--去除中文字符,保留非中文字符
return varchar as
y varchar(4000);
begin
for i in 1 .. length(x) loop
if ascii(substr(x, i, 1)) <= 127 then
y := y || substr(x, i, 1);
end if;
end loop;
return y;
end f_deal_off_chinese;
查看Oracle库中的存储过程:
SELECT text
FROM user_source
WHERE NAME = 'Procedure Name'
ORDER BY line;--其中Procedure Name为存储过程名字,需要全部用大写英文。