03-04-25, 02:06 AM
وعليكم السلام ورحمة الله وبركاته
جرب هذا الكود
جرب هذا الكود
كود :
ALTER PROCEDURE [dbo].[Get_CkeckbarCode55]
@itemCode2 NVARCHAR(50), -- استخدام طول محدد بدل MAX
@ClaintID INT
AS
BEGIN
SET NOCOUNT ON;
--استعلام عن وجود الباركود
BEGIN TRY
BEGIN TRANSACTION
IF EXISTS (SELECT 1 FROM [Items_BarcodeQry]
WHERE [ItemCode2] = @itemCode2 AND ClaintID = @ClaintID)
----فى حالة وجود بيانات متطابقة للاستعلام - جلب جميع البيانات
BEGIN
SELECT *
FROM [Items_BarcodeQry]
WHERE [ItemCode2] = @itemCode2
AND ClaintID = @ClaintID
END
ELSE
--فى حالة عدم وجود بيانات متطابقة
----يتم انشاء باركود جديد وارسالة مع بيانات
BEGIN
DECLARE @barCode INT
SELECT @barCode = ISNULL(MAX([barCode]),0) + 1
FROM [Items_BarcodeQry]
INSERT INTO [Items_BarcodeQry] ([barCode], [ItemCode2], [ClaintID])
VALUES (@barCode, @itemCode2, @ClaintID)
SELECT @barCode AS NewBarCode,
itemCode, itemName, itemGroup,
itemCategory, itemSize, itemColor,
UintName, ItemPrice
FROM [Items_BarcodeQry]
WHERE [ItemCode2] = @itemCode2
AND ClaintID = @ClaintID
END
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
EXEC dbo.Report_error
END CATCH
ENDلا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي

