PDA

View Full Version : نحوه بکار بردن Stored Procedure و در جداول ؟



mojtaba_z
سه شنبه 03 مهر 1386, 14:43 عصر
سلام

من یک Stored Procedure بصورت زیر تعریف کردم :

CREATE Procedure Decr @Num Int , @Result Int OUTPUT
AS
Declare
@Temp int
Set @Temp = @Num - 1
Set @Result = @Temp
GO


و یک جدول که شامل 2 فیلد با نام های ID , Name است رو ایجاد کردم .
حالا میخوام با استفاده از این Stored Procedure که نوشتم ، علاوه بر دو ستون جدول که داشتم ، یک ستون دیگه به اون اضافه بشه و مقادیر ستون ID رو با استفاده از Stored Procedure درون اون قرار بده (یعنی با Stored Procedure مقادیر ID رو یکی ازش کم کنه)
روش انجامش رو نمیدونم .

البته این فقط یه مثال هستش برای یادگیری من .
با فانکشن نمیخوام این کار رو بکنم .

MShirzadi
سه شنبه 03 مهر 1386, 16:08 عصر
ما نمی تونیم از خروجی Store Procedure به این شکل استفاده کنیم یعنی برای این کاری که گفتید تنها راهش استفاده از Function هست
Store Procedure تنها برای Exec کردن یه سری دستورات هست و یا تنها می شه از خروجیش برای نمایش اطلاعات استفاده کرد نمی شه روی خروجیش کاری مثل Sort و یا ... انجام داد

موفق باشی

mojtaba_z
چهارشنبه 04 مهر 1386, 08:45 صبح
سلام
آیا میشه از Store Procedure همانند Function استفاده کرد؟ چون من یک Store Procedure دارم که Encrypt شده هست و یک متغیر رو میگیره و پس از انجام عملیات روی اون ، یک مقدار رو برمیگردونه و میخوام اون Store Procedure روی یک ستون جدولم اثر کنه .

در Store Procedure ای که قبلا گفتم اگه بصورت زیر بنویسیم :

DECLARE @Result Int
EXEC Decr 5, @Result OUTPUT
SELECT @Result AS 'Decreased Number'

عملیات رو مثل Function انجام میده و مقدار جواب رو برمیگردونه .حالا چطوری بگم که این Store Procedure روی ستون های یک جدول عمل کنه ؟؟

پویا
چهارشنبه 04 مهر 1386, 11:58 صبح
با After Trigger جدول رو بعد از هر تغییر (Insert, Update) ویرایش کنین
داخل تریگر از کرسر استفاده کنین

mojtaba_z
چهارشنبه 04 مهر 1386, 12:57 عصر
سلام
لطفا اگه ممکنه کد مربوطه رو بنویسید.
با سپاس