質問編集履歴
2
タグ修正。PACKAGE BODY追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,17 +30,61 @@
|
|
30
30
|
Response.Write “ErrMsg = ” & objCmd.Parameters(“ErrMsg”).Value & “<br>”
|
31
31
|
|
32
32
|
・ストアドプロシージャ
|
33
|
-
CREATE OR REPLACE PACKAGE TEST_SP IS
|
33
|
+
CREATE OR REPLACE PACKAGE TEST_SP IS
|
34
|
-
|
35
34
|
FUNCTION MAIN (
|
36
|
-
|
35
|
+
p_DTOUTCNT OUT NUMBER
|
37
|
-
|
36
|
+
,p_ERRFLG OUT NUMBER
|
38
|
-
|
37
|
+
,p_ERRCD OUT NUMBER
|
39
|
-
|
38
|
+
,p_ERRSTR OUT VARCHAR2
|
40
39
|
) RETURN NUMBER;
|
41
40
|
|
42
41
|
END;
|
43
42
|
|
43
|
+
・ストアドプロシージャ(BODY)
|
44
|
+
CREATE OR REPLACE PACKAGE BODY TEST_SP
|
45
|
+
IS
|
46
|
+
FUNCTION MAIN(
|
47
|
+
p_DTOUTCNT OUT NUMBER
|
48
|
+
,p_ERRFLG OUT NUMBER
|
49
|
+
,p_ERRCD OUT NUMBER
|
50
|
+
,p_ERRSTR OUT VARCHAR2
|
51
|
+
) RETURN NUMBER IS
|
52
|
+
|
53
|
+
BEGIN
|
54
|
+
|
55
|
+
p_DTOUTCNT := 0;
|
56
|
+
p_ERRFLG := 0;
|
57
|
+
p_ERRCD := 0;
|
58
|
+
|
59
|
+
SELECT COUNT(1) INTO p_DTOUTCNT FROM LOG_TBL;
|
60
|
+
|
61
|
+
IF p_DTOUTCNT = 0 THEN
|
62
|
+
p_ERRFLG := 1;
|
63
|
+
p_ERRCD := 9;
|
64
|
+
p_ERRSTR := 'NOT FOUND';
|
65
|
+
ELSE
|
66
|
+
p_ERRFLG := 0;
|
67
|
+
p_ERRCD := 0;
|
68
|
+
p_ERRSTR := NULL;
|
69
|
+
END IF;
|
70
|
+
|
71
|
+
RETURN 0;
|
72
|
+
|
73
|
+
EXCEPTION
|
74
|
+
|
75
|
+
WHEN OTHERS THEN
|
76
|
+
|
77
|
+
p_ERRCD := SQLCODE;
|
78
|
+
p_ERRSTR := 'ERR-MAIN';
|
79
|
+
|
80
|
+
ROLLBACK;
|
81
|
+
|
82
|
+
RETURN 1;
|
83
|
+
END MAIN;
|
84
|
+
|
85
|
+
END TEST_SP;
|
86
|
+
|
87
|
+
|
44
88
|
■参考サイト
|
45
89
|
http://asp.style-mods.net/ref_connection/execute.htm
|
46
90
|
|
1
クラシックaspの明記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ASP
|
1
|
+
クラシックASP+ADOでのストアドプロシージャ戻り値取得
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
■質問内容
|
2
|
-
現在ASP+ADOを用いてOracle(.ver 12c)のストアドプロシージャの実行を行うよう新規構築しています。
|
2
|
+
現在クラシックASP+ADOを用いてOracle(.ver 12c)のストアドプロシージャの実行を行うよう新規構築しています。
|
3
3
|
|
4
4
|
以下のコードにてストアドプロシージャの実行自体は出来ることをストアドプロシージャの処理内でINSERTされるテーブル等で確認しているのですが、ストアドプロシージャの戻り値を取得できておりません。(以下ソース内コメント★の箇所)
|
5
5
|
ストアドプロシージャの戻り値をASPにて取得したいのですが、必要な設定、コード等ありますでしょうか?
|
@@ -7,7 +7,7 @@
|
|
7
7
|
尚、ストアドプロシージャを直接実行すると、戻り値を取得できることは確認済みです。
|
8
8
|
|
9
9
|
■ソース(抜粋)
|
10
|
-
・ASP
|
10
|
+
・ASP(.asp)
|
11
11
|
|
12
12
|
Dim objCmd
|
13
13
|
Set objCmd = Server.CreateObject(“ADODB.Command”)
|