PDA

View Full Version : sp برای ساخت تیبل های متفاوت



Sal_64
جمعه 13 دی 1387, 20:00 عصر
سلام


ساخت تیبل با استور پروسیجر
چطور امکان داره اقدام به ایجاد تیبل کرد ، که از قبل تعداد فیلدها و همچنین نوع اونها مشخص نیست
یعنی sp برای ساخت تیبل های متفاوت داشته باشیم

آیا این کار امکان داره ؟

با تشکر

تولائی
جمعه 13 دی 1387, 20:13 عصر
فکر می‌کنم بتونی هر رشته‌ی قابل اجرا در T-Sql رو با sp_executesql اجرا کنید. (برای اطلاع بیشتر از نحوه‌ی اجرا به books online مراجعه کنید) حال می‌توانید دستور ساخت جدولتان را بسازید و آن را با استفاده از sp فوق اجرا کنید.

Sal_64
شنبه 14 دی 1387, 20:35 عصر
سلام


فکر می‌کنم بتونی هر رشته‌ی قابل اجرا در T-Sql رو با sp_executesql اجرا کنید. (برای اطلاع بیشتر از نحوه‌ی اجرا به books online مراجعه کنید) حال می‌توانید دستور ساخت جدولتان را بسازید و آن را با استفاده از sp فوق اجرا کنید.امکان داره اون کدی که برای ساخت تیبل مجازی نوشته بودید رو با این دستور هم پیاده سازی کنید
خودم خواستم اینکار رو انجام بدم
اما در هنگام انجام این کار ایررور اینکه تیبل باید تعریف شود رو می داد


با تشکر

تولائی
شنبه 14 دی 1387, 21:45 عصر
سلام

امکان داره اون کدی که برای ساخت تیبل مجازی نوشته بودید رو با این دستور هم پیاده سازی کنید
خودم خواستم اینکار رو انجام بدم
اما در هنگام انجام این کار ایررور اینکه تیبل باید تعریف شود رو می داد


با تشکر

منظورتون رو از «اون کد» نفهمیدم کدوم کده. اگه رفرنس بدید بررسی می‌کنم. در ضمن دقت کن که وقتی از اون sp استفاده می‌کنیم دقت کن که یک batch رو اجرا می‌کنی و طبیعتا متغییرهایی رو که تو اون batch استفاده می‌کنی رو نمی‌تونی خارج از اون batch استفاده کنی. شاید مشکل از این‌جاست.

ar.shirazi
یک شنبه 15 دی 1387, 07:06 صبح
سلام


ساخت تیبل با استور پروسیجر
چطور امکان داره اقدام به ایجاد تیبل کرد ، که از قبل تعداد فیلدها و همچنین نوع اونها مشخص نیست
یعنی sp برای ساخت تیبل های متفاوت داشته باشیم

آیا این کار امکان داره ؟

با تشکر
با یک دستور create که به صورت دینامیک ساخته میشود.

Sal_64
یک شنبه 15 دی 1387, 18:24 عصر
سلام


اگه رفرنس بدید بررسی می‌کنم
http://barnamenevis.org/forum/showthread.php?t=135680&page=3


با یک دستور create که به صورت دینامیک ساخته میشود.
امکان داره بیشتر توضیح بدید

با تشکر

Sal_64
سه شنبه 24 دی 1387, 15:04 عصر
سلام

دوستان می تونن راهنمایی کنن :افسرده:

هر رشته‌ی قابل اجرا در T-Sql رو با sp_executesql اجرا کنید



با تشکر

ar.shirazi
سه شنبه 24 دی 1387, 17:37 عصر
سلام


http://barnamenevis.org/forum/showthread.php?t=135680&page=3


امکان داره بیشتر توضیح بدید

با تشکر
توی زبان برنامه نویسی که کار میکنید رشته مورد نظر را بسازید:


string str = "create Table (columnName int identitiy primary key)"


سپس این رشته را به عنوان یک پارامتر به SP فرستاده و در آنجا به کمک sp_executesql اجرایش کنید

معایب این کار:
مستعد بودن برای حملات injection