當前位置:首頁 » 存儲配置 » 存儲過程的語法結構

存儲過程的語法結構

發布時間: 2024-11-23 07:49:17

⑴ 請問幾個oracle存儲過程語法的問題

1、包中用is和as是同等的,因為在sql中只能用AS,而在PL/SQL中可以用is,因兼容問題,所以PL/SQL中也可以使用AS;
2、放在begin外面,值得注意的是PL/SQL是塊狀結構,所以變數都應該的申明部分定義,也就是begin外面;
3、在函數、過程、包的申明部分定義變數時,可以不用Declare,但使用匿名程序時,一定要使用Declare定義變數;
4、純SQL語句是不用begin/end的。只有PL/SQL語句才使用。

⑵ SQL的存儲過程 語法格式是什麼

---判斷是否存在存儲過程
if exists( select name from sysobjects where name='proc_name' )
drop proc proc_name
go

---創建存儲過程
create proc proc_name
@parameter varchar(20),
@parameter2 int
as
主體語句
go

if exists:判斷是否存在
drop proc : 刪除存儲過程,後面接存儲過程名稱,名稱不用引起來
create proc: 創建存儲過程,後面接存儲過程名稱,名稱不用引起來
@parameter varchar(20): 參數,在執行存儲過程的時候需要傳入的參數,這里是字元類型,如果有多個參數的話,除了最後一個參數,其他的參數後面需要加逗號(英文狀態),如果不需要傳入,直接去掉就行了。
create proc proc_name
as
主體語句
go

as : 關鍵字
主體語句:就是你要做的操作的語句,和平時的完全一樣,存儲過程就相當把平時的sql語句在外面加了個殼的感覺。比如這里你需要查詢一個表 select * from tableName1 那麼這里就這樣寫
create proc proc_name
as
select * from tableName1
go
傳參數:
create proc proc_name
@parameter varchar(20)
as
select * from tableName where name=@parameter
go
執行的時候這樣
exec proc_name '小明'

⑶ 誰知道Oracle資料庫存儲過程的語法

oracle
存儲過程
的基本語法
1.基本結構
CREATE
OR
REPLACE
PROCEDURE
存儲過程名字
(
參數1
IN
NUMBER,
參數2
IN
NUMBER
)
IS
變數1
INTEGER
:=0;
變數2
DATE;
BEGIN
END
存儲過程名字
2.SELECT
INTO
STATEMENT
將select查詢的結果存入到變數中,可以同時將多個
列存儲
多個變數中,必須有一條
記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
變數1,變數2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判斷
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循環
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.變數賦值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.帶參數的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(
變數值
);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
連接資料庫後建立一個Test
WINDOW
在窗口輸入調用SP的代碼,F9開始debug,CTRL+N單步調試
參考
http://www.cnblogs.com/happyday56/archive/2007/07/05/806830.html

⑷ MSQ創建存儲過程,初級MSQ大佬求助

1系統存儲過程

以sp_開頭,用來進行系統的各項設定.取得信息.相關管理工作。

2本地存儲過程

用戶創建的存儲過程是由用戶創建並完成某一特定功能的存儲過程,事實上一般所說的存儲過程就是指本地存儲過程。

3臨時存儲過程

分為兩種存儲過程:

一是本地臨時存儲過程,以井字型大小(#)作為其名稱的第一個字元,則該存儲過程將成為一個存放在tempdb資料庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它;

二是全局臨時存儲過程,以兩個井字型大小(##)號開始,則該存儲過程將成為一個存儲在tempdb資料庫中的全局臨時存儲過程,全局臨時存儲過程一旦創建,以後連接到伺服器的任意用戶都可以執行它,而且不需要特定的許可權。

4遠程存儲過程

在SQL Server2005中,遠程存儲過程(Remote Stored Proceres)是位於遠程伺服器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

5擴展存儲過程

擴展存儲過程(Extended Stored Proceres)是用戶可以使用外部程序語言編寫的存儲過程,而且擴展存儲過程的名稱通常以xp_開頭。

基本語法
創建存儲過程
create procere sp_name

@[參數名] [類型],@[參數名] [類型]

as

begin

.........

end

以上格式還可以簡寫成:

create proc sp_name

@[參數名] [類型],@[參數名] [類型]

as

begin

.........

end

/*注:"sp_name"為需要創建的存儲過程的名字,該名字不可以以阿拉伯數字開頭*/

調用存儲過程
1.基本語法:exec sp_name [參數名]

刪除存儲過程
1.基本語法:

drop procere sp_name

2.注意事項

(1)不能在一個存儲過程中刪除另一個存儲過程,只能調用另一個存儲過程

其他常用命令
1.show procere status

顯示資料庫中所有存儲的存儲過程基本信息,包括所屬資料庫,存儲過程名稱,創建時間等

2.show create procere sp_name

顯示某一個mysql存儲過程的詳細信息

3、exec sp_helptext sp_name

顯示你這個sp_name這個對象創建文本。

熱點內容
看巴士的解壓密碼 發布:2024-11-23 10:30:18 瀏覽:578
oracle的sql練習題 發布:2024-11-23 10:28:37 瀏覽:315
linux進程間同步 發布:2024-11-23 10:14:25 瀏覽:185
android朋友圈圖片 發布:2024-11-23 10:02:08 瀏覽:159
eclipsejar源碼亂碼 發布:2024-11-23 10:01:33 瀏覽:145
oracle導入資料庫數據 發布:2024-11-23 09:57:09 瀏覽:796
高訪問網址 發布:2024-11-23 09:53:02 瀏覽:520
android內置apk 發布:2024-11-23 09:46:18 瀏覽:320
郵箱伺服器搭建windows 發布:2024-11-23 09:44:46 瀏覽:560
安卓如何強制關閉 發布:2024-11-23 09:43:05 瀏覽:448