ورود

View Full Version : کپی از یک رکورد



Fazaeli
سه شنبه 21 اردیبهشت 1389, 09:39 صبح
سلام ،
سئوال خودم رو با یک مثال می پرسم:
در SQLجدولی داریم به نام STUDENT
فیلدهای این جدول شامل
ID
Name
Last Name
Age
Educational level
Tel
Address
میباشد این جدول دارای پانصد رِکورد است
من میتوانم با دستور Update رکورد های این جدول را تغییر دهم مثلاً از ID=1 تا ID=50 همه Educational level=primary باشد.
اما می خواهم دستوری رو بنویسم که تمام رکورد های فیلد Educational level --از 2 تا 50 از رکورد ID=1 کپی شوند هر چی در رکورد ID یک نوشته شده بود در فیلد Educational level از رکورد فیلدIDیک تا پنجاه کپی گردد
با تشکر

Fazaeli
سه شنبه 21 اردیبهشت 1389, 10:18 صبح
سلام ،
سئوال خودم رو با یک مثال می پرسم:
در SQLجدولی داریم به نام STUDENT
فیلدهای این جدول شامل
ID
Name
Last Name
Age
Educational level
Tel
Address
میباشد این جدول دارای پانصد رِکورد است
من میتوانم با دستور Update رکورد های این جدول را تغییر دهم مثلاً از ID=1 تا ID=50 همه Educational level=primary باشد.
اما می خواهم دستوری رو بنویسم که تمام رکورد های فیلد Educational level --از 2 تا 50 از رکورد ID=1 کپی شوند هر چی در رکورد ID یک نوشته شده بود در فیلد Educational level از رکورد فیلدIDیک تا پنجاه کپی گردد
با تشکر

سئوال من خیلی آبکی هست منتها چون پرسیدن عیب نیست پرسیدم!!!!!

حمیدرضاصادقیان
سه شنبه 21 اردیبهشت 1389, 11:11 صبح
update student
set educational level=(Select educational level from student where id=1)
where id>2 and id<50

محمد سلیم آبادی
سه شنبه 21 اردیبهشت 1389, 14:07 عصر
قبل از دستور update مقدار مورد نظر را در یک متغیر انتساب دهین بعد از مقدار متغیر در دستور update استفاده کنید.
برای انتساب از این کد می شود استفاده کرد:

DECLARE @eduLvl VARCHAR(500) --d
SELECT @edulvl = [educational level] FROM student WHERE id=1




update student
set educational level=(Select educational level from student where id=1)
where id>2 and id<50


زمانی که نام ستون غیر استاندارد تعریف شده یعنی از کاراکتر space در نام ستون یا جدول استفاده شده بایستی نام را بین دو کاراکتر [] قرار دهیم.

SELECT [educational level] FROM student