PDA

View Full Version : سوال: پارامتر و store procedure ها



solmaz_zm
پنج شنبه 16 آبان 1387, 09:41 صبح
سلام به دوستان

من برنامه اي نوشتم كه براي ذخيره اطلاعات از store procedure ها استفاده كردم.
حال با تغيير ور‍‍ژن برنامه پارامترهايي به ديتابيس من اضافه شده،به تبع آن اين پارامترها به store procedure هم اضافه شده است.
حال در نظر بگيريد عده اي با ديتابيس قبلي در حال كردن هستند.

مشكل اينجاست كه بايستي تمام پارامترهاي store procedure ، مقدار دهي شوند.
آيا راهي هست كه برخي فيلدها مقدار دهي نشوند؟؟؟؟؟؟
( فرض كنيد فيلد name در ورژن قبلي مقدار دهي نميشده است ولي در ورژن جديد در خطي خاص ار برنامه مقدار دهي ميشود و در خطي خاص هيچگونه پارامتري به ان ارسال نميشود.)

hedi
پنج شنبه 16 آبان 1387, 19:16 عصر
دوست عزیز سلام
برنامه نویسی به صورت Script SQL حتما باید حرفه ای باشی و اگر قرار است در آینده برنامه ات را توسعه بدهی برای خودت دررو گذاشته باشی دوراه را من به شما توصیه می کنم :
1-اگر قرار است تغییری در Script ها یا در فیلدهای برنامه بدهید آخرین BackUp را از مشتری گرفته و تغییرات خود را روی آن اعمال کرده و سپس آن را در نهایت به مشتری بدهید.
2-در Script های خود اگر قرار است فیلدی به دوصورت مقدار دهی شود یا بعضی وقت ها پر شود یا اصلا پر نشود این نوع فیلد را نباید Primary Key تعریف کنید چون در این صورت نمی توانید مشکل را در آینده حل کنید.

solmaz_zm
پنج شنبه 16 آبان 1387, 23:35 عصر
primary key نیستند!
جزو پارامترهای store procedure هستند. تا انجایی که سواد من میرسه به تمام مقادیر store procedure بایستی مقدار ارسال شود.

می خوام بدونم راهی هست که به بعضی ارسال نشود یا خیر؟!!

m-khorsandi
یک شنبه 19 آبان 1387, 11:07 صبح
ميتونی براشون مقدار پيش‌فرض تعيين كنی :



create procedure myProc @PName varchar(100), @PAge int = 1
as
....
....
....


يا حتی NULL