我有一个STUDENT
带有列的表st_id,name,age,dept_name
。现在我想创建一个STUDENT_DESC
带有列的新表st_id,dept_name,st_desc
。所以我需要将st_id
和的所有值复制dept_name
到新创建的表中STUDENT_DESC
。我需要在复制时确保关系st_id
and dept_name
,dept_name
应该对应于st_id
。那么我该如何在 PL/SQL 中做到这一点?
问问题
3241 次
2 回答
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 回答
1
insert into STUDENT_DESC (select st_id, dept_name, null from student);
这将简单地复制所有记录。第三列st_desc
留空(null)
为了确保参照完整性,您将向STUDENT_DESC
表添加主键和参照完整性约束
但是,请注意,在许多情况下,引入包含此类学生数据的第二个表可能是“错误的”。st_desc
添加到STUDENT
表格中可能会“更好” 。
于 2012-09-25T07:18:02.660 回答