儲存過程(stored procedure)是一組為了完成特定功能的sql語句集合,經編譯後儲存在伺服器端的資料庫中,利用儲存過程可以加速sql語句的執行。系統儲存過程是系統建立的儲存過程,目的在於能夠方便的從系統表中查詢資訊或完成與更新資料庫表相關的管理任務或其他的系統管理任務。系統儲存過程主要儲存在master資料庫中,以「sp」下劃線開頭的儲存過程。儘管這些系統儲存過程在master資料庫中,但我們在其他資料庫還是可以呼叫系統儲存過程。有一些系統儲存過程會在建立新的資料庫的時候被自動建立在當前資料庫中。
常用系統儲存過程有:
exec sp_databases;
--檢視資料庫
exec sp_tables;
--檢視表
exec sp_columns student;
--檢視列
exec sp_helpindex student;
--檢視索引
exec sp_helpconstraint student;
--約束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures'
;--檢視儲存過程建立、定義語句
exec sp_rename student, stuinfo;
--修改表、索引、列的名稱
exec sp_renamedb mytempdb, mydb;
--更改資料庫名稱
exec sp_defaultdb 'master'
,'mydb'
;--更改登入名的預設資料庫
exec sp_helpdb;
--資料庫幫助,查詢資料庫資訊
exec sp_helpdb master;
系統儲存過程示例
--表重新命名
exec sp_rename 'stu'
,'stud'
;select *
from stud;
--列重新命名
exec sp_rename 'stud.name'
,'sname'
,'column'
;exec sp_help 'stud'
;--重新命名索引
exec sp_rename n
'student.idx_cid',n
'idx_cidd',n
'index'
;exec sp_help 'student'
;--查詢所有儲存過程
select *
from sys.objects where type =
'p';
select *
from sys.objects where type_desc like '%pro%' and name like 'sp%'
;
參考: Oracle儲存過程呼叫儲存過程
oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...
ORACLE儲存過程
自定義函式開始 create or replace function fn wftemplateidget templatecategoryid number,organid number,templatemode number return number istemplateid number i...
Oracle 儲存過程
create or replace procedure p 有就替換,沒有就建立 iscursor c is select from emp for update begin for v emp in c loop if v emp.deptno 10 then update emp2 set sa...