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

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

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

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

Q&A

解決済

1回答

1042閲覧

更新処理のテストデータ作成方法

KINGFROG

総合スコア27

SQL Server

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

0グッド

0クリップ

投稿2016/10/16 12:10

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

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 -- 重複レコードカーソル
;

-- 5. ワンタイム出荷先マスタ更新
UPDATE dbo.MST_W_SHOP_SHIPMENT
SET SHOP_SHIPMENT_AGENCY_CD = T1.ONETMCSTM_CD
, EFFECT_FLG = 1
, MST_HANDLING_COMPANY_ID = '1'
, SALES_ORGANIZATION = T1.VKORG
, DISTRIBUTION_CHANNEL = T1.LOGI_CHANEL_CD
, PRODUCT_DIVISION = T1.SPART
, CLIENT_ACCOUNT_GROUP = '0'
, SEARCH_CONDITION1 = T1.KANA_NM
, NAME = T1.SHORT_NM
, POST_CODE = T1.POST_CD_SAP
, COUNTRY_CODE = T1.COUNTRY
, GEOGRAPHICAL_NAME = ' '
, LANGUAGE = 'J'
, TEL1 = T1.TEL
, FAX = T1.FAX
, SHIPPING_CONDITION = T1.WAERS
, COUNTRY_DISPATCH = T1.KALKS
, TAX_CATEGORY = 'MWST'
, CLIENT_TAX_GROUPING = T1.TAXKD
, CLIENT_GROUP1 = T1.KVGR1
, DELIVERY_ZONE = T1.SHIP_AREA
, RECEIVED_BLOCK = ' '
, SHIPPING_BLOCK = ' '
, PREFECTURE_CD = '13'
, SALES_PROMOTION_FLG = ' '
, BRANCH_OFFICE_CD = T1.AREA_CD
, REGION_ID = T1.AREA_CD
, UPDATE_DATE = @dUpdate_Date
, UPDATE_USER_ID = @vUpdate_User_Id
, UPDATE_PRG_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 MST_W_SHOP_SHIPMENT.SHOP_SHIPMENT_CD = T1.LOGI_ONETMCSTM_CD
AND (MST_W_SHOP_SHIPMENT.SHOP_SHIPMENT_AGENCY_CD <> T1.ONETMCSTM_CD
OR (MST_W_SHOP_SHIPMENT.SHOP_SHIPMENT_AGENCY_CD IS NULL AND T1.ONETMCSTM_CD IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.SHOP_SHIPMENT_AGENCY_CD IS NOT NULL AND T1.ONETMCSTM_CD IS NULL)
OR MST_W_SHOP_SHIPMENT.EFFECT_FLG <> 1
OR ISNULL(MST_W_SHOP_SHIPMENT.MST_HANDLING_COMPANY_ID, '') <> '1'
OR MST_W_SHOP_SHIPMENT.SALES_ORGANIZATION <> T1.VKORG
OR (MST_W_SHOP_SHIPMENT.SALES_ORGANIZATION IS NULL AND T1.VKORG IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.SALES_ORGANIZATION IS NOT NULL AND T1.VKORG IS NULL)
OR MST_W_SHOP_SHIPMENT.DISTRIBUTION_CHANNEL <> T1.LOGI_CHANEL_CD
OR (MST_W_SHOP_SHIPMENT.DISTRIBUTION_CHANNEL IS NULL AND T1.LOGI_CHANEL_CD IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.DISTRIBUTION_CHANNEL IS NOT NULL AND T1.LOGI_CHANEL_CD IS NULL)
OR MST_W_SHOP_SHIPMENT.PRODUCT_DIVISION <> T1.SPART
OR (MST_W_SHOP_SHIPMENT.PRODUCT_DIVISION IS NULL AND T1.SPART IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.PRODUCT_DIVISION IS NOT NULL AND T1.SPART IS NULL)
OR ISNULL(MST_W_SHOP_SHIPMENT.CLIENT_ACCOUNT_GROUP, '') <> '0'
OR MST_W_SHOP_SHIPMENT.SEARCH_CONDITION1 <> T1.KANA_NM
OR (MST_W_SHOP_SHIPMENT.SEARCH_CONDITION1 IS NULL AND T1.KANA_NM IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.SEARCH_CONDITION1 IS NOT NULL AND T1.KANA_NM IS NULL)
OR MST_W_SHOP_SHIPMENT.NAME <> T1.SHORT_NM
OR (MST_W_SHOP_SHIPMENT.NAME IS NULL AND T1.SHORT_NM IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.NAME IS NOT NULL AND T1.SHORT_NM IS NULL)
OR MST_W_SHOP_SHIPMENT.POST_CODE <> T1.POST_CD_SAP
OR MST_W_SHOP_SHIPMENT.COUNTRY_CODE <> T1.COUNTRY
OR (MST_W_SHOP_SHIPMENT.COUNTRY_CODE IS NULL AND T1.COUNTRY IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.COUNTRY_CODE IS NOT NULL AND T1.COUNTRY IS NULL)
OR ISNULL(MST_W_SHOP_SHIPMENT.GEOGRAPHICAL_NAME, '') <> ' '
OR ISNULL(MST_W_SHOP_SHIPMENT.LANGUAGE, '') <> 'J'
OR MST_W_SHOP_SHIPMENT.TEL1 <> T1.TEL
OR (MST_W_SHOP_SHIPMENT.TEL1 IS NULL AND T1.TEL IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.TEL1 IS NOT NULL AND T1.TEL IS NULL)
OR MST_W_SHOP_SHIPMENT.FAX <> T1.FAX
OR (MST_W_SHOP_SHIPMENT.FAX IS NULL AND T1.FAX IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.FAX IS NOT NULL AND T1.FAX IS NULL)
OR MST_W_SHOP_SHIPMENT.SHIPPING_CONDITION <> T1.WAERS
OR (MST_W_SHOP_SHIPMENT.SHIPPING_CONDITION IS NULL AND T1.WAERS IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.SHIPPING_CONDITION IS NOT NULL AND T1.WAERS IS NULL)
OR MST_W_SHOP_SHIPMENT.COUNTRY_DISPATCH <> T1.KALKS
OR (MST_W_SHOP_SHIPMENT.COUNTRY_DISPATCH IS NULL AND T1.KALKS IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.COUNTRY_DISPATCH IS NOT NULL AND T1.KALKS IS NULL)
OR ISNULL(MST_W_SHOP_SHIPMENT.TAX_CATEGORY, '') <> 'MWST'
OR MST_W_SHOP_SHIPMENT.CLIENT_TAX_GROUPING <> T1.TAXKD
OR (MST_W_SHOP_SHIPMENT.CLIENT_TAX_GROUPING IS NULL AND T1.TAXKD IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.CLIENT_TAX_GROUPING IS NOT NULL AND T1.TAXKD IS NULL)
OR MST_W_SHOP_SHIPMENT.CLIENT_GROUP1 <> T1.KVGR1
OR (MST_W_SHOP_SHIPMENT.CLIENT_GROUP1 IS NULL AND T1.KVGR1 IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.CLIENT_GROUP1 IS NOT NULL AND T1.KVGR1 IS NULL)
OR MST_W_SHOP_SHIPMENT.DELIVERY_ZONE <> T1.SHIP_AREA
OR (MST_W_SHOP_SHIPMENT.DELIVERY_ZONE IS NULL AND T1.SHIP_AREA IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.DELIVERY_ZONE IS NOT NULL AND T1.SHIP_AREA IS NULL)
OR ISNULL(MST_W_SHOP_SHIPMENT.RECEIVED_BLOCK, '') <> ' '
OR ISNULL(MST_W_SHOP_SHIPMENT.SHIPPING_BLOCK, '') <> ' '
OR ISNULL(MST_W_SHOP_SHIPMENT.PREFECTURE_CD, '') <> '13'
OR ISNULL(MST_W_SHOP_SHIPMENT.SALES_PROMOTION_FLG, '') <> ' '
OR MST_W_SHOP_SHIPMENT.BRANCH_OFFICE_CD <> T1.AREA_CD
OR (MST_W_SHOP_SHIPMENT.BRANCH_OFFICE_CD IS NULL AND T1.AREA_CD IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.BRANCH_OFFICE_CD IS NOT NULL AND T1.AREA_CD IS NULL)
OR MST_W_SHOP_SHIPMENT.REGION_ID <> T1.AREA_CD
OR (MST_W_SHOP_SHIPMENT.REGION_ID IS NULL AND T1.AREA_CD IS NOT NULL)
OR (MST_W_SHOP_SHIPMENT.REGION_ID IS NOT NULL AND T1.AREA_CD IS NULL)
)
;

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

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

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

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

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

guest

回答1

0

自己解決

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

投稿2016/11/23 02:33

KINGFROG

総合スコア27

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問