پر کردن جدول با ردیفهای زیاد
سلام
من یک کوئری دارم که حاصلش یک جدول 10 سطری و 50 هزار ردیف است
می خوام این جدول رو وارد جدول مقصد کنم
نکته : جدول مقصد وجود دارد و نمی خوام از دستور into استفاده کنم
ممنون میشم راهمایی کنید
8 پاسخ
منظورتون 10 ستونه دیگه ، ضمنا دستور insert into ربطی به موجود و temp بودن table نداره.
اگر قابل تبدیل باشند SQL اون رو تبدیل می کنه و در غیر این صورت خطا میده.
اشتباه نوشته بودم
10 ستون دارد
ممکنه یه مقدار بیشتر توضیح بدید یا اینکه یه نمونه کد بفرستید
وقتی با دستور into اطلاعات اولیه رو وارد جدولی میکنم (مثلا table1) که تازه داره ساخته میشه و مشکلی نیست
ولی وقتی می خوام اطلاعات جدیدی رو به جدول اضافه کنم (منظورم ستونهای جدید و مقادیر جدیده )اول جدول مقصد(همون table1) رو با دستور delete پاک می کنم ، بعد که دستور into رو می زنم میگه جدول موجوده(همون table1)
ممنون میشم کمکم کنید
بله حق باشماست باید بیشتر دقت می کردم
یه سئوال دیگه هم برام باقی مونده و ممنون میشم جواب بدید
در دستور insert حتما باید تعداد و نوع ستونهای جدول مبدا و مقصد یکی باشند یا اینکه وقتی جدول مبدا رو داخل جدول مقصد می کنیم ، به طور اتوماتیک نوع و تعداد جدول مقصد تغییر می کنه
ممنون از وقتی که گذاشتید
راستش بهتره شما کدتون رو بزارید تا خطاش رو بگیریم نه اینکه یکی دیگه کد بزنه.
به هرحال نمونه کد اینجا هستش
https://www.w3schools.com/sql/sql_insert_into_select.asp
دوست عزیز
کدی که بنده قرار دادم رو با دقت بخونید با این کد که شما قرار دادید فرق داره. دستوری که من گفتم یک نمونه insert هستش ولی چیزی که شما توی کد قرار دادید یک شکل از دستور select
سلام به شما دوست عزیز.
اگر جدول از قبل وجود داره شما باید از دستور Insert استفاده کنید به شکل زیر
INSERT INTO destTable
SELECT col1,col2,col3,..
FROM sourceTable
دقت کنید که دستور select می تواند یک select پیچیده و ترکیبی از چند جدول باشد و فقط باید اسم و نوع ستون ها با جدول مقصد همخوانی داشته باشند.
ممنون که وقت میذارید
در تکه کد اول 5 ستون رو برای جدول tbl1 ساخته می شود و مقدار دهی میکنیم
در تکه کد دوم مقادیر جدول tbl1 پاک میشه تا مقادیر جدید و ستون های جدید به جدول tbl اضافه شوند
همونطور که در تصویر هم معلومه جلوی دستور into یه خطایی رو نشون میده و میگه جدول tbl1 موجود است