TableA からレコードのリストを取得し、それらのレコードを TableB に挿入するストアド プロシージャを作成しています。今、私はこれで問題に直面しています。
これが私のspです:
USE [Sample_DB]
GO
SET ANSI_NULLS ON
GOenter code here
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[AddStoredProcedure]
AS
BEGIN
DECLARE @ProcessedData AS TABLE (Name varchar(200),MaritalStatus varchar(200))
INSERT INTO @ProcessedData (Name ,MaritalStatus )
SELECT Name,MaritalStatus from TableA where MaritalStatus='Male'
INSERT INTO [TableB]
(
Id
,Name
,MaritalStatus
)
SELECT ('M_'+cast(RIGHT(Year(getDate()),2) as varchar)+'_'+cast(REPLACE(STR((select MAX(Id)+1 from [TableA] where MaritalStatus='Male'),4),' ','0') as varchar)),Name,MaritalStatus FROM @ProcessedData
END
TableA contains,
Id Name MaritalStatus
1 John Male
2 Sam Male
3 Seema Female
ストアド プロシージャを実行すると、AddStoredProcedure
出力を次のように取得しています
TableB contains,
Id Name MaritalStatus
M_13_0003 John Male
M_13_0003 Sam Male
しかし、私は以下のように必要です;
TableB should be,
Id Name MaritalStatus
M_13_0003 John Male
M_13_0004 Sam Male
ご回答いただきありがとうございます。