PDA

View Full Version : کاتالوگ



pooyansystem
پنج شنبه 31 خرداد 1386, 09:15 صبح
وقتی با استفاده از کوئری زیر مشخصات sp ها رو بدست میارم چند تا از sp های خود سیستم رو هم نشون میده ولی من می خوام فقط sp هایی رو که خودم نوشتم نشون بده
چیکار باید بکنم تا این کار رو بکنه

select * from sys.syscomments join sys.procedures on id=object_id
ممنون

AminSobati
پنج شنبه 31 خرداد 1386, 11:13 صبح
چرا Join میکنین مگه
select * from sys.procedures
مشکلش چیه؟ ضمنا کدوم SPهای سیستمی رو بهتون نشون میده؟

pooyansystem
پنج شنبه 31 خرداد 1386, 11:58 صبح
چون می خوام تکست sp ها رو داشته باشم join میکنم با استفاده از sys.procedures نمی توان تکست sp رو بدست آورد
با اجرای کوئری sp های زیر را نشان میدهد که من اونها رو ایجاد نکردم
sp_upgraddiagrams
sp_helpdiagrams
sp_helpdiagramdefinition
sp_creatediagram
sp_alterdiagram
sp_dropdiagram

AminSobati
پنج شنبه 31 خرداد 1386, 13:56 عصر
من متاسفانه فیلدی که عامل تمایز باشه ندیدم. شما میتونین در همون Query خودتون از NOT IN استفاده کنین و SPهای سیستمی رو فیلتر کنین، یا با این روش تعداد زیادی رو با فیلد فیلتر کنین ولی یکی جا میمونه که باید با NOT IN فیلتر کرد:


select * from sys.sql_modules sm join sys.procedures p on sm.object_id=p.object_id
where OBJECTPROPERTYEX (sm.object_id,'IsProcedure')=1
and sm.execute_as_principal_id is null and p.name not in ('sp_upgraddiagrams')