PDA

View Full Version : اضافه کردن چند پروسیجر با یک موضوع



hsdnhd
سه شنبه 20 خرداد 1393, 21:21 عصر
باسلام من بااستفاده از Linqتوی پروژم دیتابیس ساختم یک جدول ساختم به نام Table1 که دوتافیلدبیشترنداره به نام code,name سه تا پروسیجرساختم برای حذف ،ویرایش ،ذخیره به نام های pdelete,pedit,psave الان میخوام یه جدول دیگه بسازم به نام table2 ودوباره سه تا پروسیجربراش بنویسم ولی نمیدونم چطوری چون اسم پروسیجررو که نمیشه عوض کرد وبااسم قبلی هم که نمیشه ساخت برای اینکارباید چیکارکنم؟مثلا کد پروسیجرذخیره رو براتون گذاشتم به عنوان نمونه


ALTER PROCEDURE dbo.pSave @code int,@name nvarchar(50)
AS
INSERT INTO Table1 VALUES(@code ,@name)
RETURN

hsdnhd
چهارشنبه 21 خرداد 1393, 13:03 عصر
کسی یعنی دراین مورد خبرنداره ؟به نظرم توی همه پروژه های دارای دیتابیس این استفاده میشه اونوقت هیچکس جوابی نداده؟

plus
چهارشنبه 21 خرداد 1393, 13:20 عصر
Stored Procedure ها در سطح دیتابیس ایجاد میشن (نه در سطح جدول) بنابراین اسم گذاری رو بهتره جوری انجام بدین که مشخص باشه که عمل مورد نظر روی چه جدول یا موجودیتی انجام میشه.
برای مثال میتونید نام SP هایی که روی جدول اول عملیات انجام میدن رو Table1_Save, Table1_Delete و Table1_Edit بگذارین و برای جدول بعدی هم به این ترتیب تا مشکل تداخل اسم نداشته باشید و مشخص باشه هر SP روی چه جدولی عملیات انجام میده.

hsdnhd
چهارشنبه 21 خرداد 1393, 16:14 عصر
Stored Procedure ها در سطح دیتابیس ایجاد میشن (نه در سطح جدول) بنابراین اسم گذاری رو بهتره جوری انجام بدین که مشخص باشه که عمل مورد نظر روی چه جدول یا موجودیتی انجام میشه.
برای مثال میتونید نام SP هایی که روی جدول اول عملیات انجام میدن رو Table1_Save, Table1_Delete و Table1_Edit بگذارین و برای جدول بعدی هم به این ترتیب تا مشکل تداخل اسم نداشته باشید و مشخص باشه هر SP روی چه جدولی عملیات انجام میده.
لطفا بیشترتوضیح بدید
من وقتی که اسمی غیرازاسم بالامیزنم ارورمیده:
Invalid Object Name'dbo.table1_save'.

plus
چهارشنبه 21 خرداد 1393, 23:50 عصر
کدی که خطا میده رو بگذارین.

hsdnhd
پنج شنبه 22 خرداد 1393, 07:35 صبح
کدی که خطا میده رو بگذارین.


ALTER PROCEDURE dbo.pselete_Save @code int,@name nvarchar(50)
AS
INSERT INTO Table2 VALUES(@code,@name)
RETURN
این کدپروسیجر ذخیره که ارورمیده
اینم پروسیجراولی که کارذخیره توی جدول شماره 1رو انجام میده

ALTER PROCEDURE dbo.pSave @code int,@name nvarchar(50)
AS
INSERT INTO Table1 VALUES(@code,@name)
RETURN
مشکلی هم نداره این وذخیره میکنه ولی دومی ارورمیده میخوام سیوش کنم

hsdnhd
پنج شنبه 22 خرداد 1393, 23:40 عصر
ALTER PROCEDURE dbo.pselete_Save @code int,@name nvarchar(50)
AS
INSERT INTO Table2 VALUES(@code,@name)
RETURN
این کدپروسیجر ذخیره که ارورمیده
اینم پروسیجراولی که کارذخیره توی جدول شماره 1رو انجام میده

ALTER PROCEDURE dbo.pSave @code int,@name nvarchar(50)
AS
INSERT INTO Table1 VALUES(@code,@name)
RETURN
مشکلی هم نداره این وذخیره میکنه ولی دومی ارورمیده میخوام سیوش کنم


هیچکس خبرنداره ؟خیلی برام مهمه پروژه پایان ترممه لنگ همین یه درسم ممنون میشم زودترجواب بدید

pezhvakco
شنبه 24 خرداد 1393, 12:09 عصر
سلام




ALTER PROCEDURE dbo.pselete_Save @code int,@name nvarchar(50)
AS
INSERT INTO Table2 VALUES(@code,@name)
RETURN
این کدپروسیجر ذخیره که ارورمیده
اینم پروسیجراولی که کارذخیره توی جدول شماره 1رو انجام میده

ALTER PROCEDURE dbo.pSave @code int,@name nvarchar(50)
AS
INSERT INTO Table1 VALUES(@code,@name)
RETURN
مشکلی هم نداره این وذخیره میکنه ولی دومی ارورمیده میخوام سیوش کنم



یه پروسیجر ذخیره شده است به نام : pSave
و می خواهین یکی دیکه به نام : pselete_Save بسازین

از نمونه کد های شما این طور برداشت می کنم که شما روی pSave گزینه ویرایش رو انتخاب کردین، نام پروسیجر را نام دیگر ویرایش کرده و سپس فرمان اجرا (Run) رو زدین که اون خطا رو داده .

شما باید یک پروسیجر دیگه بسازین و برای این کار باید =>
کلمه ALter ابتدای خط اول را به Create تغییر دهید و نام پروسیجر را هم ویرایش کنید

hsdnhd
یک شنبه 25 خرداد 1393, 20:23 عصر
سلام یه پروسیجر ذخیره شده است به نام : pSave و می خواهین یکی دیکه به نام : pselete_Save بسازین از نمونه کد های شما این طور برداشت می کنم که شما روی pSave گزینه ویرایش رو انتخاب کردین، نام پروسیجر را نام دیگر ویرایش کرده و سپس فرمان اجرا (Run) رو زدین که اون خطا رو داده . شما باید یک پروسیجر دیگه بسازین و برای این کار باید => کلمه ALter ابتدای خط اول را به Create تغییر دهید و نام پروسیجر را هم ویرایش کنید خیلی ممنون واقعا ممنون یه درس سه واحدی تخصصی نجاتم دادی