المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كود لحذف الـ Batches المتراكمة التي لا تحتوي على عمليات !


Monzer Osama
08-Dec-2011, 04:22 PM
السلام عليكم ورحمة الله
أحيانا بعض الشركات تعاني من تراكم مجلدات الترحيلة (Batches)
وقد تكون فارغة ولا تستخدم ! .......الكود التالي يقوم بحذف الباتشات التي لا تحتوي على عمليات .

طلعا يمكن جدولة تنفيذ هذا الكود بإنشاء Job داخل الـ SQL Server
ليقوم بحذف باتشات الـ 'Sales Transaction تحديدا....
بالتوفيق




DECLARE @aaINTERID varchar(10),
@aaCMPNYNAM varchar(31)

SET @aaINTERID = DB_Name()
SELECT @aaCMPNYNAM = CMPNYNAM from DYNAMICS.dbo.SY01500 where INTERID = @aaINTERID

DELETE SY00500
where BCHSOURC = 'Sales Entry'
and BACHNUMB not in (select BACHNUMB from SOP10100)
and BACHNUMB not in (select BACHNUMB from DYNAMICS.dbo.SY00800 where CMPNYNAM = @aaCMPNYNAM and TRXSOURC = 'Sales Transaction Entry')

osamamakled
01-Dec-2012, 07:59 AM
السلام عليكم

الرجاء مراجعة الكود أعلاه - sql 2005

Monzer Osama
01-Dec-2012, 08:18 AM
ما المشكلة في الكود؟
جربته الآن على SQL 2008 واشتغل دون مشاكل , وحذف باتشين
(2 row(s) affected)

osamamakled
01-Dec-2012, 10:03 AM
ما المشكلة في الكود؟
جربته الآن على SQL 2008 واشتغل دون مشاكل , وحذف باتشين
(2 row(s) affected)



الرسالة الخطأ

The Declare cursor SQL construct or statement is not supported.

Monzer Osama
02-Dec-2012, 10:46 AM
الرسالة الخطأ

the declare cursor sql construct or statement is not supported.

جرب الكود في الملف المرفق