期間不會更新這是我剛纔的問題 sql update for dynamic row number獲取其值多行更新
這一次我有一個更新的需求的延續行的鍵值。 我有2個表 CraftTypes & EmployeeCraftTypes。
我需要在CraftType表更新多行和 我能夠更新按照由TheGameiswar
提供的答案現在沒有在規定的修改。
在表CraftTypes,對於列CraftTypeKey與表EmployeeCraftsTypes的外鍵引用。
如果存在對CraftTypeKey在EmployeeCrafttypes表,則行不應該被更新的條目。 還必須獲取其行值未更新的CraftTypeKey以返回行的FK_restriction狀態。
這是我正在使用的sql查詢。
CREATE TYPE [DBO].[DEPARTMENTTABLETYPE] AS TABLE
(DepartmentTypeKey SMALLINT, DepartmentTypeName VARCHAR(50),DepartmentTypeCode VARCHAR(10) , DepartmentTypeDescription VARCHAR(128))
ALTER PROCEDURE [dbo].[usp_UpdateDepartmentType]
@DEPARTMENTDETAILS [DBO].[DEPARTMENTTABLETYPE] READONLY
AS
BEGIN
SET NOCOUNT ON;
DECLARE @rowcount1 INT
BEGIN
BEGIN TRY
BEGIN TRANSACTION
UPDATE D1
SET
D1.[DepartmentTypeName]=D2.DepartmentTypeName
,D1.[DepartmentTypeCode]=D2.DepartmentTypeCode
,D1.[DepartmentTypeDescription]=D2.DepartmentTypeDescription
FROM
[dbo].[DepartmentTypes] D1
INNER JOIN
@DEPARTMENTDETAILS D2
ON
D1.DepartmentTypeKey=D2.DepartmentTypeKey
WHERE
D2.[DepartmentTypeKey] not in (select 1 from [dbo].[EmployeeDepartment] where [DepartmentTypeKey]=D2.DepartmentTypeKey)
SET @[email protected]@ROWCOUNT
COMMIT
END TRY
BEGIN CATCH
SET @ROWCOUNT1=0
ROLLBACK TRAN
END CATCH
IF @rowcount1 =0
SELECT -174;
ELSE
SELECT 100;
END
END
請幫助 而在此先感謝