USE [namedatabase] GO /****** Object: Table [dbo].[tbl_Temp_enteghal_Kala] Script Date: 09/05/2026 11:26:17 ق.ظ ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET XACT_ABORT ON; BEGIN TRAN; DECLARE @CodeMoinCheck nvarchar(20), @ToolKol int, @ToolMoin int, @ExpectedKol nvarchar(20), @ExpectedMoin nvarchar(20), @ExpectedMoinKamel nvarchar(40); SELECT TOP (1) @CodeMoinCheck = fldCodeMoinCheck FROM dbo.tblTanzimat; SELECT TOP (1) @ToolKol = fldKol, @ToolMoin = fldMoin FROM dbo.tblPaye; SET @ExpectedKol = LEFT(@CodeMoinCheck, @ToolKol); SET @ExpectedMoin = SUBSTRING(@CodeMoinCheck, @ToolKol + 1, @ToolMoin); SET @ExpectedMoinKamel = @ExpectedKol + @ExpectedMoin; -- قبل از اصلاح SELECT ID, fldSanad, fldRadif, fldCodeKol, fldCodeMoin, fldMoinKamel, fldCodeTafzili, fldBedehkar, fldBestankar, fldType FROM dbo.tblSodooreSanad WHERE fldType = 'checkebteda' AND fldCodeKol = @ExpectedKol AND ( ISNULL(fldCodeMoin, '') <> @ExpectedMoin OR ISNULL(fldMoinKamel, '') <> @ExpectedMoinKamel ); UPDATE dbo.tblSodooreSanad SET fldCodeMoin = @ExpectedMoin, fldMoinKamel = @ExpectedMoinKamel WHERE fldType = 'checkebteda' AND fldCodeKol = @ExpectedKol AND ( ISNULL(fldCodeMoin, '') <> @ExpectedMoin OR ISNULL(fldMoinKamel, '') <> @ExpectedMoinKamel ); SELECT @@ROWCOUNT AS UpdatedRows, @ExpectedKol AS ExpectedKol, @ExpectedMoin AS ExpectedMoin, @ExpectedMoinKamel AS ExpectedMoinKamel; -- بعد از اصلاح: باید WrongRows صفر شود SELECT COUNT(*) AS WrongRows FROM dbo.tblSodooreSanad WHERE fldType = 'checkebteda' AND fldCodeKol = @ExpectedKol AND ( ISNULL(fldCodeMoin, '') <> @ExpectedMoin OR ISNULL(fldMoinKamel, '') <> @ExpectedMoinKamel ); COMMIT;