省略乙個儲存過程:
create or replace procedure proc1
(p_para1 varchar2,
p_para2 varchar2,
p_para3 in out varchar2)as
v_name varchar2(20);
begin
v_name := 'zhangsan';
p_para3 := v_name;
dbms_output.put_line('p_para3:'||p_para3);
exception
...end proc1;
乙個最簡單的儲存過程,大體分為:
case
when (condition) then (statement)
when (condition) then (statement)
else (statement)
end;
if (condition) then
(statement)
else if (condition) then
(statement)
else (statement)
end if;
for (condition) loop
(statement)
end loop;
while (condition) loop
(statement)
end loop;
create or replace function proc1
(引數列表
) return varchar2 --返回引數型別
as變數宣告
begin
過程語句
rerurn 可以是宣告的變數也可以是任意資料
end proc1;
除了系統提供的函式外,使用者還可以根據需要自定義函式(user defined functions)。使用者自定義函式不能用於執行一系列改變資料庫狀態的操作,但可以像系統函式一樣在查詢或儲存過程等的程式段中使用,也可以像儲存過程一樣通過execute命令來執行。
在sql server中根據函式返回值形式的不同,將udf分為三種型別:標量型函式(scalar fuctions)、內聯錶值型函式(inline table_valued functions)和多宣告錶值型函式(multi-statement table-valued functions)。
標量型函式返回乙個確定型別的標量值,其返回值型別為除text, ntext, image, cursor, timestamp 和 table型別外的其他資料型別。函式體語句定義在begin-end語句內,其中包含了可以返回值的transact-sql命令。
內聯錶值型函式以表的形式返回乙個返回值,即它返回的是乙個表內聯錶值型函式,沒有由begin-end語句括起來的函式體。其返回的表由乙個位於return子句中的select命令段從資料庫中篩選出來。內聯錶值型函式功能相當於乙個引數化的檢視。
多宣告錶值型函式可以看作標量型和內聯錶值型函式的結合體。它的返回值是乙個表,但它和標量型函式一樣有乙個用begin-end語句括起來的函式體,返回值的表中的資料是由函式體中的語句插入的。由此可見,它可以進行多次查詢,對資料進行多次篩選與合併,彌補了內聯錶值型函式的不足。
這三種型別到udf建立語法見下篇部落格。
sql儲存過程語法
一.注釋 單行注釋,從這到本行結束為注釋sql 語法,類似c c 中 多行注釋,類似c c 中 二.變數 int,smallint,tinyint,decimal,float,real,money smallmoneysql 語法,text image,char,varchar。語法 declare...
sql 儲存過程 函式
1 建立儲存過程 1 語法 create or replace procedure procedure name argument type 型別 變數的說明 begin 執行部分 exception 可選的異常錯誤處理程式 end 建立過程 sql create or replace proced...
SQL Server常用函式 SQL語法函式
關係型資料庫 sql語法 函式 建議 一 字元轉換函式 1 ascii 返回字元表示式最左端字元的ascii 碼值。在ascii 函式中,純數字的字串可不用 括起來,但含其它字元的字串必須用 括起來使用,否則會出錯。2 char 將ascii 碼轉換為字元。如果沒有輸入0 255 之間的ascii ...