PDA

View Full Version : سوال: انتقال تمام فيلد هاي يك جدول بجز يكي به حدول جديد



سوگند رها
پنج شنبه 22 مرداد 1388, 08:55 صبح
با سلام
چطوري ميشه با دستور sql تمام فيلد هاي يك جدول بجز يكي را به جدول ديگه انتقال داد:متفکر:
البته بدون ذكر نام تك تك فيلد ها بجز يكي چون تعداد فيلدها خيلي زياده نمي شه همه را ذكر كرد. مثلا بگيم تمام فيلد ها بجز....... :افسرده:
* بجز cod اضافه بشه بجدول جديد

sql * into table_new from table_old

amin.re
پنج شنبه 22 مرداد 1388, 11:00 صبح
سلام می تونید یکی فیلدهارو کپی کنید اونم با table شاید ... باشه ولی راهی که به نظر من رسید.
موفق باشید

behzad_dr
پنج شنبه 22 مرداد 1388, 11:16 صبح
سلام دوست عزیز شکل کلی این دستور

insert into table1(field1,field2)
select [*|(fields1,fields2)]
from table2
where ....

خوب حال اگر شما فقط فیلدهای مقصد تون رو مشخص کنید و فیلدهای مبدا رو * هم که بگذارید مشکلی پیش نمیاد .

سوگند رها
شنبه 24 مرداد 1388, 09:04 صبح
با تشكر از پاسختون ولي من عرض كردم تعداد فيلدها بسيار زياد است و در ضمن فيلد هاي جدول مقصد درست همان فيلد هاي جدول مبدا است و تنها يك فيلد از مبدا نبايد در جدول مقصد كپي شود .
دستوري براي اين نوع نداريم ؟؟

nooshin964
شنبه 24 مرداد 1388, 09:32 صبح
میتوانید همه را اینسرت کنید بعد آن فیلد مورد نظر خودتان را DROP کنید .

select * into x from y
go
alter table x
drop column y1

nooshin964
شنبه 24 مرداد 1388, 09:35 صبح
همچنین میتوانید از روال سیستمی sp_columns @tableName
استفاده کرده نتیجه را در یک متغیر table ذخیره کنید و سپس فیلد مورد نظرت را از آن table حذف کنی .
این روش دوم بهتر بوده و ابتکار بیشتری دارد.

سوگند رها
شنبه 24 مرداد 1388, 09:41 صبح
ممنون از شما
همين كار رو انجام مي دم:لبخند:

سوگند رها
شنبه 24 مرداد 1388, 09:46 صبح
ممنون از شما
فكر كنم روش ديگه اي وجود نداره من هم همين فكر بنظرم رسيد
همين كار رو انجام مي دم:لبخند: