0

STUDENT列を持つテーブルがありますst_id,name,age,dept_nameSTUDENT_DESC今、列を持つ新しいテーブルを作成したいと思いますst_id,dept_name,st_desc。そのため、新しく作成した table にst_idとのすべての値をコピーする必要があります。とをコピーするときに関係を確保する必要があります。dept_nameSTUDENT_DESCst_iddept_namedept_namest_id

4

2 に答える 2

1
insert into STUDENT_DESC (select st_id, dept_name, null from student);

これにより、すべてのレコードがコピーされます。3番目の列st_descは空のままです(null)

参照整合性を確保するには、主キーと参照整合性制約をSTUDENT_DESCテーブルに追加します

ただし、多くの場合、そのような学生データを含む2番目のテーブルを導入することは「間違っている」可能性があることに注意してください。st_descテーブルに追加する方が「良い」可能性がありSTUDENTます。

于 2012-09-25T07:18:02.660 に答える
1

あなたのデータモデルを理解しているかどうかはわかりませんが、額面どおりにテーブルを簡単に作成できます。

CREATE TABLE student_desc AS SELECT st_id, dept_name FROM student;

ALTER TABLE student_desc ADD (st_desc VARCHAR2(..));

..に目的の最大サイズを入力しますst_desc

于 2012-09-25T07:04:03.913 に答える