الانتقال إلى المحتوى

كيف يمكن تغيرdatatype


ابوفهد

Recommended Posts

السلام عليكم

لا اعتقد انك تستطيع ان تغير data type الا عندما يكون الجدول خاليا
وطريقة تحويله هكذا

alter table emp
modify employee_id number(9);

تم تعديل بواسطة gero
رابط هذا التعليق
شارك

ياشباب كيف يمكن تغير نوع البيانات من VARCHAR الى NUMBER علماً بانة يوجد فية بيانات

ودمتم....


علشان تعمل اللى انت عاوزه لازم يكون العمود فارغ تماماً او ان تكون كل قيمه Null ..... اما اذا كان فيه بيانات فانت مجبر على ازالة هذه البيانات الاول و من ثم تحويل ال datatype للحقل لل datatype المراده .

و دمتم
رابط هذا التعليق
شارك

طالما في بيانات لا اعتقد انه ينفع انه تغير نوعه

بس لو مافي بيانات ممكن تستخدم هذا الكود

alter table "table_name"
modify "feild_name" number(10);

شو المقصود "طيب لو العمود ب null ممكن نغير اسمه "

لو كان تغيير اسم العمود
alter table "table_name"
rename column "column_name" to "new_column_name";

بس لو كان تغيير الفيلد من null ,not null

ALTER TABLE supplier
MODIFY supplier_name varchar2(100) not null;

رابط هذا التعليق
شارك

alter table "table_name"
rename column "column_name" to "new_column_name";



جربت هذا الأمر ... يقول البرزنتيشن .. او السوبرزنتيشن


ما ننفعت معي .... كنت ابي أغير أسم عمود ... مدري هل السبب في اني استخدم اوراكل 9i

رابط هذا التعليق
شارك

Rename column(s) in a table
(NEW in Oracle 9i Release 2)

Syntax #1

Starting in Oracle 9i Release 2, you can now rename a column.

To rename a column in an existing table, the ALTER TABLE syntax is:

ALTER TABLE table_name
 RENAME COLUMN old_name to new_name;

For example:

ALTER TABLE supplier
 RENAME COLUMN supplier_name to sname;

This will rename the column called supplier_name to sname.

رابط هذا التعليق
شارك

ده اللى طلع معايا :-

SQL> create table Bank(
 2  Bname varchar2(11),
 3  cardid number);

Table created.

SQL> alter table Bank
 2  rename column bname to bnam;

Table altered.

SQL> desc bank
Name                                      Null?    Type
----------------------------------------- -------- ------------

BNAM                                               VARCHAR2(11)
CARDID                                             NUMBER



أعتقد انك بتستخدم الاصدار الأول من ال 9i و ليس الأصدار الثانى
لأن خاصية ال Rename Column بدأت من الأصدار الثانى لل 9i
أرجو أن تقوم بعمل هذا الكود :-

select * from v$version;



و ترسل لى الناتج ..... و شكراً

رابط هذا التعليق
شارك

SQL> select * from v$version; BANNER
---------------------------------------------------------
Oracle8i Release 8.1.7.0.0 - Production
PL/SQL Release 8.1.7.0.0 - Production
CORE    8.1.7.0.0       Production
TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

اخي الكريم

اولا : قم بإضافة عمود جديد للجدول وليكن اسمه مثلا num

ALTER  TABLE  CC  ADD ( NUM  NUMBER(15) ) ;



ثانيا : قم بكتابة الكود التالي بحث يتم فيه تحوبل البيانات من varchar إلي number في العمود الجديد

UPDATE CC SET NUM = TO_NUMBER(VARCH) ;



ثالثا : قم بحذف العمود الذي تم نسخ البيانات منه للعمود الجديد NUM

ALTER  TABLE  CC  DROP  COLUMN   VARCH  ;




جزاكم الله كل خير

رابط هذا التعليق
شارك

بالنسبة للأخ jamal_rrkk ..... فشكراً لتعبك و مشاركتك .

و لكن للأسف كودك ليس صحيح :rolleyes: ..... و هذا ما حدث معى :-

SQL> create table CC (
 2  id number);

Table created.

SQL> ALTER TABLE CC ADD ( NUM NUMBER(15) ) ;

Table altered.

SQL> UPDATE CC SET NUM = TO_NUMBER(VARCH) ;
UPDATE CC SET NUM = TO_NUMBER(VARCH)
                             *
ERROR at line 1:
ORA-00904: "VARCH": invalid identifier



لا أعرف ماذا تقصد بالظبط ..... قد يكون كودك صحيح مع اوراكل ال 8i .... أنا لا أعرف صراحة ، فأنا لم أستخدم غير ال 10g وال 11g فقط لا غير.

اما يا أخى العزيز swsws
فأنت لا تستخدم اوراكل 9i ولكنك تستخدم اوراكل 8i ..... و من ثم فلن ينفع تنفيذ خاصية ال Rename Column

أما اذا ارادنا تنفيذ فكرة أخى الكريم jamal_rrkk فسوف يتم تنفيذها كالتالى :-

create table CC (id number);
Table altered.

ALTER TABLE CC ADD ( NUM NUMBER(15) ) ;
Table altered.
ALTER TABLE CC drop column id ;
Table altered.

SQL> desc cc
Name                                      Null?    Type
----------------------------------------- -------- ----------

NUM                                                NUMBER(15)



أرجو أن تكون الفكرة واضحة ...... مع تمنياتى لك بالتوفيق

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

اخي الكريم Hany Freedom


اولا : قم بإضافة عمود جديد للجدول وليكن اسمه مثلا num


اي ليس إنشاء جدول جديد

والمقصود بـ VARCH هو اسم العمود المطلوب تغيير نوع البيانات فيه


جزاكم الله كل خير
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية