存儲過程中調用另一個存儲過程
首先需要知道「另一個存儲過程」的結果集的所有列的類型。
假設「另一個存儲過程」的名字是sp1,沒有參數,返回的結果集共3列,全部為int型,那麼「存儲過程」里添加一個與結果集列數相同的臨時表或表變數用於接收「另一個存儲過程」的結果集
如下
CREATE PROCEDURE sp2
AS
DECLARE @t table(a int,b int,c int)
INSERT INTO @t(a,b,c)
EXEC sp1
SELECT * FROM @t
使用sqlSERVER存儲過程可以很大的提高程序運行速度,簡化編程維護難度,現已得到廣泛應用。
創建存儲過程
和數據表一樣,在使用之前需要創建存儲過程,它的簡明語法是:
引用:
Create PROC 存儲過程名稱
[參數列表(多個以「,」分隔)]
AS
SQL 語句
『貳』 oracle存儲過程調用另一個存儲過程
調用方法不正確
調用時沒有實參,你應該按照函數定義時參數的個數和類型給函數傳遞同樣個數和類型的參數,這是最基本的啊
你定義的是個函數,是函數就要返回值,你得用一個函數返回值同樣類型的變數去接收這個返回值
『叄』 oracle 在存儲過程中如何正確調用另一個存儲過程
PRO_PAGINGQUERY_SQL這個存儲過程是單獨創建的還是在另一個package裡面的,如果在另一個package則需要聲明
『肆』 SQL存儲過程如何調用存儲過程
1、首先先創建一個存儲過程,代碼如圖,存儲過程主要的功能是為表JingYan插入新的數據。
『伍』 存儲過程中可以調用其他存儲過程嗎為什麼
存儲過程中可以調用其他存儲過程。根據查詢相關公開信息顯示,當存儲過程執行一次後,可以並游將語句緩存中,這樣下次執行的時候直接使培盯用緩存中的語配蔽和句。
『陸』 sqlserver里存儲過程怎麼調用存儲過程
sqlserver里調用存儲過程的具體操作步驟如下:
1、打開SQL Server Managment管理工具,新建一個表。
『柒』 oracle中,一個存儲過程怎麼調用另一個存儲過程
已經有人回答的很專業了!
原則就是:你要調用哪個存儲過程,就要為該存儲過程傳入它需要的參數
它定義的幾個,你就傳入幾螞尺孫個
當然參數的類型要對應上。
還有就是如果一個存儲過程中定義了out類型的參數,當你在調用它的時候,這個out類型的悶鏈參數也要參入,看它定義的是什麼類型的out參數。然後定義一個該類型的變數,傳入進去,用於接收存儲過程返回的值。然後用這個值,去做下困檔面的邏輯。
『捌』 如何在存儲過程中調用其他的存儲過程
一個帶參數的存儲過程。
SQL> CREATE OR REPLACE PROCEDURE HelloWorld1 (
2 p_user_name VARCHAR2
3 ) AS
4 BEGIN
5 dbms_output.put_line('Hello ' || p_user_name || '!');
6 END HelloWorld1;
7 /
Procere created.
SQL> CREATE OR REPLACE PROCEDURE CallHelloWorld1 (
2 p_user VARCHAR2
3 ) AS
4 BEGIN
5 -- 調用存儲過程的 存儲過程
6 HelloWorld1(p_user);
7 END CallHelloWorld1;
8 /
Procere created.
執行
SQL> set serveroutput on
SQL> exec CallHelloWorld1( 'Tom' );
Hello Tom!
PL/SQL procere successfully completed.
『玖』 oracle中怎麼在存儲過程中調用同一個包的其他存儲過程
在存儲過程或函數里調用oracle包的話,首先要有執行這個包的許可權;如果包屬於其他的用戶(不是系統包),調用時:用戶名.包名.存儲過程(參數)名或者
變數:=用戶名.包名.函數(參數);因為函數有返回值,變數類型要跟函數返回值的類型一致。
在command
下調用的話:exec
用戶名.包名.存儲過程名(參數);select
用戶名.包名.函數名(參數)
from
al;就可以了。包屬於當期用戶可以不寫用戶名。