SQLServer 2005 ストアドプロシージャの戻り値を取得する。
KoKaZu
投稿数: 2
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
Magic uniPasS V1Plus
SQL Server2005
でトアドプロシージャを実行するプログラムを作成中です。
ストアドの実行結果を取得したいのですがうまくいきません。
ヘルプ SQL データベース, ストアドプロシージャの実行
には以下のように記載があります。
[SQLコマンド]ダイアログで
EXEC ? = proc_name
と記述し
[戻り値]欄に変数項目を指定する
とあります。
それに従い以下のように記述しました。
EXEC ? = sp_TH3060_集計 :1
戻り値:には論理型の変数を指定。
(数値型も試しましたが同じでした)
実行すると以下のようなエラーメッセージで実行できません。
>> イベント処理中 [ エラー: SQLコマンドが正しくない \\DB エラーコード 0 ] コントロール名 : [ 無効 ]
以下のようにして、戻り値の設定をしない場合ストアドプロシージャは正常に実行され更新がかかっています。
EXEC sp_TH3060_集計 :1
戻り値:※指定しない。
:1には文字列で'31','2010/07/31'というよな引数をセットしています。
呼出すストアドプロシージャは以下です。
(実験用に単純化して一部のみを残して実行しています)
USE [ERA]
GO
/****** Object: StoredProcedure [dbo].[sp_TH3060_集計] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_TH3060_集計]
(
@締日 int,
@請求日 varchar(10) ) AS
BEGIN TRY
BEGIN TRANSACTION
/*集計日の更新*/
UPDATE MA_管理
SET 締集計日=@締日,請求集計日=@請求日
WHERE 管理CD=1
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RETURN
ROLLBACK TRANSACTION
END CATCH
マジックの記述がまずいのか、
ストアドプロシージャ側に何か記述しなければいけないのか
わかりません。。。
マジックをはじめて数ヶ月で、
他に設定箇所があるのかもよくわからず投稿いたしました。
ここの情報があれば原因がわかる というようであれば調べますので、わかる方いらっしゃったら教えていただけないでしょうか。
よろしくお願いいたします。
SQL Server2005
でトアドプロシージャを実行するプログラムを作成中です。
ストアドの実行結果を取得したいのですがうまくいきません。
ヘルプ SQL データベース, ストアドプロシージャの実行
には以下のように記載があります。
[SQLコマンド]ダイアログで
EXEC ? = proc_name
と記述し
[戻り値]欄に変数項目を指定する
とあります。
それに従い以下のように記述しました。
EXEC ? = sp_TH3060_集計 :1
戻り値:には論理型の変数を指定。
(数値型も試しましたが同じでした)
実行すると以下のようなエラーメッセージで実行できません。
>> イベント処理中 [ エラー: SQLコマンドが正しくない \\DB エラーコード 0 ] コントロール名 : [ 無効 ]
以下のようにして、戻り値の設定をしない場合ストアドプロシージャは正常に実行され更新がかかっています。
EXEC sp_TH3060_集計 :1
戻り値:※指定しない。
:1には文字列で'31','2010/07/31'というよな引数をセットしています。
呼出すストアドプロシージャは以下です。
(実験用に単純化して一部のみを残して実行しています)
USE [ERA]
GO
/****** Object: StoredProcedure [dbo].[sp_TH3060_集計] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_TH3060_集計]
(
@締日 int,
@請求日 varchar(10) ) AS
BEGIN TRY
BEGIN TRANSACTION
/*集計日の更新*/
UPDATE MA_管理
SET 締集計日=@締日,請求集計日=@請求日
WHERE 管理CD=1
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RETURN
ROLLBACK TRANSACTION
END CATCH
マジックの記述がまずいのか、
ストアドプロシージャ側に何か記述しなければいけないのか
わかりません。。。
マジックをはじめて数ヶ月で、
他に設定箇所があるのかもよくわからず投稿いたしました。
ここの情報があれば原因がわかる というようであれば調べますので、わかる方いらっしゃったら教えていただけないでしょうか。
よろしくお願いいたします。
投票数:0
平均点:0.00
投稿ツリー
-
SQLServer 2005 ストアドプロシージャの戻り値を取得する。 (KoKaZu, 2010-9-14 17:15)
-
Re: SQLServer 2005 ストアドプロシージャの戻り値を取得する。 (Jiro123, 2010-9-14 18:30)
-
Re: SQLServer 2005 ストアドプロシージャの戻り値を取得する。 (KoKaZu, 2010-9-14 18:53)
-
-