期间不会更新这是我刚才的问题 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
请帮助 而在此先感谢