質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

解決済

1回答

2192閲覧

追加処理のテストデータ作成方法

KINGFROG

総合スコア27

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2016/10/16 12:12

編集2016/10/16 12:14

一時テーブルから本テーブルにデータを移行させる処理をバッチを使用して、プロシージャを実行させるのですが、そのプロシージャ内の処理をテストする為のデータをどのように作成すればいいのかがわかりません。
ご教示頂ければと思います。

CREATE PROCEDURE [dbo].[sp_141_700]
@pMst_Handling_Company_Id INT

AS
SET NOCOUNT ON;

DECLARE @ErrMessage VARCHAR(1000) -- エラーメッセージ
, @iParm_Check INT -- チェック用
, @iIs_TrnStart INT -- トランザクション開始判定(0:トランザクション未開始、1:トランザクション開始)
, @dUpdate_Date DATETIME -- 更新日時
, @vUpdate_User_Id VARCHAR(40) -- 更新ユーザー
, @vUpdate_Prg_Id VARCHAR(20) -- 更新プログラムID
, @dTaisyo_Date DATETIME -- 対象日付
-- 入力データチェック用
, @curInput CURSOR -- 入力チェック用カーソル
, @I_INPUT_CHECK INT -- 未入力チェック (0:チェックOK、1:チェックNG)
, @I_LOGI_ONETMCSTM_CD VARCHAR(30) -- 物流ワンタイムコード
, @I_CHKDEGT_SHIPCSTM_CD VARCHAR(11) -- チェックデジット付出荷先コード
-- 重複チェック用
, @curDuplicate1 CURSOR -- 重複レコードカーソル
;

-- 対象データ保持テーブル
CREATE TABLE #tTmp_MARSIF_TMP
(
LOGI_ONETMCSTM_CD VARCHAR(10) COLLATE Japanese_CI_AI_KS_WS -- 物流ワンタイムコード
, ONETMCSTM_CD VARCHAR(10) COLLATE Japanese_CI_AI_KS_WS -- ワンタイムコード
, VKORG VARCHAR(4) COLLATE Japanese_CI_AI_KS_WS -- 販売組織
, LOGI_CHANEL_CD VARCHAR(2) COLLATE Japanese_CI_AI_KS_WS -- 物流流通チャネルコード
, SPART VARCHAR(2) COLLATE Japanese_CI_AI_KS_WS -- 製品部門
, KANA_NM VARCHAR(600) COLLATE Japanese_CI_AI_KS_WS -- ワンタイムカナ名称
, SHORT_NM VARCHAR(120) COLLATE Japanese_CI_AI_KS_WS -- ワンタイム略称
, POST_CD_SAP VARCHAR(10) COLLATE Japanese_CI_AI_KS_WS -- SAP用郵便番号
, COUNTRY VARCHAR(2) COLLATE Japanese_CI_AI_KS_WS -- 国コード
, TEL VARCHAR(15) COLLATE Japanese_CI_AI_KS_WS -- 電話
, FAX VARCHAR(15) COLLATE Japanese_CI_AI_KS_WS -- FAX
, WAERS VARCHAR(3) COLLATE Japanese_CI_AI_KS_WS -- 通貨コード
, KALKS VARCHAR(1) COLLATE Japanese_CI_AI_KS_WS -- 得意先価格決定区分
, TAXKD VARCHAR(1) COLLATE Japanese_CI_AI_KS_WS -- 税分類
, KVGR1 VARCHAR(3) COLLATE Japanese_CI_AI_KS_WS -- 得意先グループ1
, SHIP_AREA VARCHAR(10) COLLATE Japanese_CI_AI_KS_WS -- 納入区域
, AREA_CD VARCHAR(10) COLLATE Japanese_CI_AI_KS_WS -- 地域コード
);

**-- 6. ワンタイム出荷先マスタ追加 INSERT INTO dbo.MST_W_SHOP_SHIPMENT (SHOP_SHIPMENT_CD , SHOP_SHIPMENT_AGENCY_CD , EFFECT_FLG , MST_HANDLING_COMPANY_ID , SALES_ORGANIZATION , DISTRIBUTION_CHANNEL , PRODUCT_DIVISION , CLIENT_ACCOUNT_GROUP , SEARCH_CONDITION1 , NAME , POST_CODE , COUNTRY_CODE , GEOGRAPHICAL_NAME , LANGUAGE , TEL1 , FAX , SHIPPING_CONDITION , COUNTRY_DISPATCH , TAX_CATEGORY , CLIENT_TAX_GROUPING , CLIENT_GROUP1 , DELIVERY_ZONE , RECEIVED_BLOCK , SHIPPING_BLOCK , PREFECTURE_CD , SALES_PROMOTION_FLG , BRANCH_OFFICE_CD , REGION_ID , CREATE_DATE , CREATE_USER_ID , CREATE_PRG_ID , UPDATE_DATE , UPDATE_USER_ID , UPDATE_PRG_ID ) SELECT T1.LOGI_ONETMCSTM_CD , T1.ONETMCSTM_CD , 1 , '1' , T1.VKORG , T1.LOGI_CHANEL_CD , T1.SPART , '0' , T1.KANA_NM , T1.SHORT_NM , T1.POST_CD_SAP , T1.COUNTRY , ' ' , 'J' , T1.TEL , T1.FAX , T1.WAERS , T1.KALKS , 'MWST' , T1.TAXKD , T1.KVGR1 , T1.SHIP_AREA , ' ' , ' ' , '13' , ' ' , T1.AREA_CD , T1.AREA_CD , @dUpdate_Date , @vUpdate_User_Id , @vUpdate_Prg_Id , @dUpdate_Date , @vUpdate_User_Id , @vUpdate_Prg_Id FROM #tTmp_MARSIF_TMP AS T1 WHERE NOT EXISTS (SELECT * FROM #tTmp_DUPLICAT WHERE #tTmp_DUPLICAT.LOGI_ONETMCSTM_CD = T1.LOGI_ONETMCSTM_CD) AND NOT EXISTS (SELECT * FROM MST_W_SHOP_SHIPMENT WHERE MST_W_SHOP_SHIPMENT.SHOP_SHIPMENT_CD = T1.LOGI_ONETMCSTM_CD) ; COMMIT TRANSACTION -- コミット実行

**
-- 7.正常完了ログ出力
EXEC sc_090_000 '0','sp_141_700(ワンタイム出荷先マスタ登録)','SUCCESS'
Return 0 -- 正常

End Try

--例外処理
Begin Catch

print error_message()

IF (@iIs_TrnStart = 1) BEGIN ROLLBACK TRANSACTION -- ロールバック実行 END SET @ErrMessage = '例外が発生しました。' EXEC sc_090_000 '-1','sp_141_700(ワンタイム出荷先マスタ登録)',@ErrMessage --エラーログ出力 Return -1 -- エラー

End Catch

SET ANSI_NULLS ON

GO

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

なんとか自己解決できました。

投稿2016/11/23 02:33

KINGFROG

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問