別のストアド プロシージャをさまざまなパラメーターで何度も呼び出し、一時テーブルを埋めるストアド プロシージャがあります。
--load inactive SKUs
INSERT INTO #tmpSKUs
exec GetAdvancedSkus @editionId
--load retailer specific SKUs
INSERT INTO #tmpSKUs
exec GetAdvancedSkus @editionId, 2, 1
私がやりたいことは、反復ごとに #tmpSKUs テーブルの SKUType 列 (この列は入力されていません) を手動で入力 (ハードコード) することです。これにより、非アクティブな SKU の場合、テーブルに結果が入力され、追加されますSKUType 列の「非アクティブ」。ストアド プロシージャには多くの依存関係があるため、GetAdvancedSKU を変更できません。
これが完全なSPコードです
ALTER proc [dbo].[GetSkuTypes]
@editionId as int,
@isbnNum as nvarchar(20)=null,
@upcCode as nvarchar(20)=null,
@productNum as nvarchar(20)=null
as
IF (@editionId > 0)
BEGIN
CREATE TABLE #tmpSKUs
(
SKUId int,
ProductNumber varchar(255),
ISBN varchar(255),
UPC varchar(255),
Territory varchar(255),
Format varchar(255),
Division varchar(255),
SourceTag varchar(255),
PictureFormat varchar(255),
Retailer varchar(255),
TextAddDetails nvarchar(3000),
AddDetails nvarchar(3000),
PackagingLanguage varchar(255),
EditionId int,
BluePrintPublishStatus varchar(255),
SAPPublishStatus varchar(255),
SKUType varchar(255)
)
--load inactive SKUs
INSERT INTO #tmpSKUs
exec GetAdvancedSkus @editionId
--load national single SKUs
INSERT INTO #tmpSKUs
exec GetAdvancedSkus @editionId, 1, 1
--load retailer specific SKUs
INSERT INTO #tmpSKUs
exec GetAdvancedSkus @editionId, 2, 1
SELECT * FROM #tmpSKUs
END