達夢數據庫的存儲過程

達夢數據庫的存儲過程

數據庫的存儲過程是很是好的一個功能,有用過oracle存儲過程的同窗再來寫達夢的存儲過程就很是容易。
說說存儲過程的優勢:
1.讓業務執行效率更高,由於語句在存儲過程都是編譯好的,執行速度更快。
2.業務包裝更靈活,容許存儲過程互相調用,也相似程序方法的複用。
3.提升數據安全性,防止SQL隨便注入。數據庫

一、建立存儲過程(帶參數)
建立一張表作測試
create table tab11 (id int primary key, name varchar(30));安全

create or replace procedure p_test(i in int)
as j int;
begin
for j in 1 ..i loop
insert into tab11 values(j,'p_test'||j);
end loop;
end;
/oracle

執行調用過程
p_test2 (3);
達夢數據庫的存儲過程ide

二、建立存儲過程(無參數)
建立一個不帶參數的過程,也是插入幾條測試數據,過程以下:
create or replace procedure p_test2 as j int;
begin
for j in 10 ..13 loop
insert into tab11 values(j,'p_test2:'||j);
end loop;
end;
/函數

執行調用過程
p_test2;
達夢數據庫的存儲過程oop

三、建立過程函數(帶參數)
建立函數其實跟建立存儲過程的方法同樣,只是函數在最後有返回值
測試一個帶參數的函數,也是插入幾條(幾條由參數傳入)測試數據,過程以下:
create or replace function f_test(i in int)
return varchar2 is
begin
return 'hello f_test'||i;
end;
/測試

執行調用函數
select f_test(555);
達夢數據庫的存儲過程對象

四、建立過程函數(無參數)
建立函數其實跟建立存儲過程的方法同樣,只是函數在最後有返回值
測試一個帶參數的函數,也是插入幾條(幾條由參數傳入)測試數據,過程以下:
create or replace function f_test2
return varchar2 is
begin
return 'hello f_test2';
end;
/it

執行調用函數
select f_test2;
達夢數據庫的存儲過程io

五、查看建立存儲過程對象信息
select owner,object_name,object_type,status from dba_objects where owner='TEST1' and object_type='PROCEDURE';
分別查出兩個存儲過程和兩個過程函數的對象
達夢數據庫的存儲過程

六、說說匿名塊測試
匿名塊是一段語句組成的,跟儲存過程有些不同,沒有實際的對象存儲在數據庫中,是一組語句執行完就結束。如下寫匿名塊測試看看
begin
print('hello world');
end;
/
達夢數據庫的存儲過程

語句塊測試循環輸出
begin
for i in 1..3 loop
print('輸出:'||i);
end loop;
end;
/
達夢數據庫的存儲過程

相關文章
相關標籤/搜索