SQL で次のストアド プロシージャを作成しました。
CREATE PROCEDURE Sp_generate_report (@YEAR INT,
@MONTH INT)
AS
DECLARE @CATEGORY VARCHAR(20)
DECLARE @BEGIN_DATE DATE
DECLARE @END_DATE DATE
BEGIN
SELECT @BEGIN_DATE = Cast(( Cast(@YEAR AS VARCHAR) + '-'
+ Cast(@MONTH AS VARCHAR) + '-' + '1' ) AS DATE)
SELECT @END_DATE = Cast(( Cast(@YEAR AS VARCHAR) + '-' +
Cast(@MONTH AS VARCHAR) + '-' + '32' ) AS DATE)
SELECT TOP 1 @CATEGORY = Name
FROM dbo.Profitible_categories(@BEGIN_DATE, @END_DATE)
INSERT INTO dbo.MONTHLY_SUMMARY_REPORTS
VALUES (@CATEGORY)
END
プロシージャは正常に作成されましたが、次のコマンドで実行しようとすると:
EXECUTE SP_GENERATE_REPORT 2012, 7
次のエラー メッセージが表示されます。
メッセージ 241、レベル 16、状態 1、プロシージャ SP_GENERATE_REPORT、行 8
文字列から日付や時刻を変換するときに変換に失敗しました。
助けてくれてありがとう。