ALTER PROCEDURE [SQW].[usp_AddSqaeCapacityAssignHrsData_CMS]
@ActionType varchar(10)='create',
@UserPrincipalName varchar(500) = NULL,
@Id INT = NULL,
@DataFor VARCHAR(50) = NULL,
@AreaName varchar(50) = NULL,
@Region varchar(100) = NULL,
@CapacityHrs INT = NULL,
@NoofFolderCapacity INT = NULL,
@PerFolderCapacityHrs INT = NULL,
@CompetenciesParams [SQW].[udt_CompetencyList_CMS] READONLY
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRAN T1;
IF @DataFor = 'AssignmentHrs'
BEGIN
MERGE SQW.DimSQAECapacity AS t
USING (
SELECT * FROM @**CompetenciesParams**
) AS s ON t.Region = @Region AND t.Competency = s.Competency
WHEN MATCHED THEN
UPDATE SET
t.PerFolderCapacityHrs = @PerFolderCapacityHrs,t.IsActive=1, t.ModifiedDate = GETUTCDATE(), ModifiedBy = @UserPrincipalName
WHEN NOT MATCHED THEN
INSERT (
Area,Region,Competency,CapacityHrs,NoofFolderCapacity,PerFolderCapacityHrs,CreatedDate,CreatedBy,ModifiedDate,ModifiedBy
)
VALUES (
@AreaName,@Region,s.Competency,NULL,@NoofFolderCapacity,@PerFolderCapacityHrs,GETUTCDATE(),@UserPrincipalName,GETUTCDATE(),@UserPrincipalName
);
END
我想知道在 SELECT * FROM @CompetencyParams 中传递给 @CompetencyParams 的值是什么,因为它作为用户定义的类型传递。
此存储过程可能会在 SQL 以外的不同平台中调用,并在其中强制为 @CompetciesParams 赋予一个值。
您的环境有可能出现这种情况吗?