ストアドプロシージャにてフェッチから出ない
Aというテーブルの情報をカーソルにて取得し、
同じくAというテーブルに項目を変えてInsertするという
プロシージャを作成しています。
しかし、フェッチしたあとその処理から出ません。
(ちなみにフェッチ後のBEGIN~END内のInsert文を違うテーブルにして実行してみると処理から抜けました)
下記が該当プロシージャです。
CREATE PROCEDURE 販売プロシージャ AS
BEGIN
--変数宣言
DECLARE @販売NO INT
DECLARE @顧客NO INT
DECLARE @明細 NVARCHAR(25)
DECLARE @受注日 SMALLDATETIME
DECLARE @金額 INT
DECLARE @ステータス BIT
DECLARE @有効フラグ BIT
--カーソル宣言
DECLARE 販売カーソル CURSOR FOR
SELECT
販売NO,
顧客NO,
明細,
受注日,
金額,
ステータス,
有効フラグ
FROM 販売
WHERE YEAR(受注日) = YEAR(GETDATE())
AND MONTH(受注日) < MONTH(GETDATE())
--初期化処理
SET NOCOUNT OFF
--カーソルOPEN
OPEN 販売カーソル
FETCH NEXT FROM 販売カーソル
INTO
@販売NO,
@顧客NO,
@明細,
@受注日,
@金額,
@ステータス,
@有効フラグ
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO 販売 (
販売NO,
顧客NO,
明細,
受注日,
金額,
ステータス,
有効フラグ,
登録日,
更新日,
)VALUES(
@販売NO,
@顧客NO,
@明細,
@受注日,
@金額,
@ステータス,
@有効フラグ,
GETDATE(),
GETDATE(),
)
FETCH NEXT FROM 販売カーソル
INTO
@販売NO,
@顧客NO,
@明細,
@受注日,
@金額,
@ステータス,
@有効フラグ
END
CLOSE 販売カーソル
DEALLOCATE 販売カーソル
END
同じテーブルを使用する場合は、このような記述ではできないのでしょうか?
お礼
回答有難うございます。 機能としては保水性(結露した水分を吸収、保持する)が要求される為、 親水性処理では若干事足らないかもしれません。 不燃性と保水性を持たせるのは他社メーカーに問い合わせてもコスト的に 難しいといわれました。 今回の件で弊社と同じ状態でお困りの方もいるかと思います。 更に今回の顧客様の製品に関してはBL(ベターリビング)認定商品の為、 容易に使用の変更が出来ないのもネックとなっています。 また他のアドバイスがありましたらよろしくお願い致します。
補足
容易に使用・・・→容易に仕様・・・ でした。