PDA

View Full Version : شماره ای که بعد از نام SP میاد



یوسف زالی
سه شنبه 22 آذر 1390, 11:07 صبح
سلام.
آقا این 1; چیه؟

exec sp_help;1 'salorders'

baktash.n81@gmail.com
سه شنبه 22 آذر 1390, 18:33 عصر
سلام

شماره پارامتر ... یعنی بهش می گی این که این جلو نوشتم پارامتر اول هست ... در مورد sp_help زیاد مهم نیست که ننویسی چون کلا یک پارامتر می گیره اما وقتی Sp هایی رو صدا می کنی که چنتا پارامتر دارن و مثلا می خوای به پارامتر سوم مقدار بدی از این استفاده می کنی ...

یوسف زالی
سه شنبه 22 آذر 1390, 20:00 عصر
ببین دوست من، از این که داری سعی می کنی جواب بدی ممنون.
اما خداییش یک بار تا حالا این کارو کردی؟
پیشنهاد می کنم این رو بخونی:
http://barnamenevis.org/showthread.php?296719-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-SP

baktash.n81@gmail.com
چهارشنبه 23 آذر 1390, 08:22 صبح
ببین دوست من، از این که داری سعی می کنی جواب بدی ممنون.
اما خداییش یک بار تا حالا این کارو کردی؟
پیشنهاد می کنم این رو بخونی:
http://barnamenevis.org/showthread.php?296719-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-SP

حق با شماست ... تو بعضی از Sp های سیستمی اینیه که من گفتم ... چون قبلا فقط موقع اجرا این کارو انجام می دادم متوجه نشدم که قضیه چیه ... !

اما جواب ... خوب می دونی که چون TSQL یک زبان OOP نیست ما نمی تونیم چیزی به عنوان SP Overloding داشته باشیم ... اما با این روش نام گذاری اومدن یک چیزی شبیه اون به وجود آوردن ... که بهش می گن numbered stored procedures

دوتا SP هم نوشتم برات که ببینی چه جوری میشه Sp هارو اینجوری ساخت


ALTER proc [dbo].[UserTest]
(
@UserID int ,
@UserName nvarchar(50)= null
)
as
Begin
Select * from Users Where (@UserID is null or User_ID=@UserID) and (UserName = @UserName or @UserName is null)
end




ALTER proc [dbo].[UserTest];2
(
@UserName nvarchar(50),
@UserID int = null
)
as
Begin
Select * from Users Where (@UserID is null or User_ID=@UserID) and (UserName = @UserName or @UserName is null)
end

یوسف زالی
چهارشنبه 23 آذر 1390, 08:33 صبح
تو بعضی از Sp های سیستمی اینیه که من گفتم

در هیچ کدوم این قانون معتبر نیست.
اگر هست مثال بزنید.
اون کدی هم که نوشتید درست بود.
ممنون.