0

これは非常に単純なことであり、ウェブサイトには多くの投稿があることがわかりますが、それを機能させることができません。

私がやろうとしていることは次のとおりです。テーブル「学生」のデータからコピーします。Student には、studentID、name、および major の 3 つの列が含まれています。

このデータを「dw_student」という別のテーブルにコピーする必要があります。

これが私がこれまでに持っているものです:

INSERT INTO dw_student (studentID, name, major, studentKey)
SELECT studentID, name, major, STUDENTSEQ.nextval
FROM student  

Studentseq.nextval は、各行に一意の番号を割り当てます。これまでのところ、私のコードの他の場所でも機能します。

私が間違っていることは明らかですか?

ここにStudentseq.nextvalがあります:

create sequence STUDENTSEQ increment by 1 start with 4000; 
drop table holdcounter3; 
CREATE TABLE holdcounter3 
( PKsequence3 number(5), 
 dataname1 char(4), 
 CONSTRAINT pk_sequence3 PRIMARY KEY (PKsequence3) ); 
4

1 に答える 1

0

SQL 構文は正常に見えます。COMMIT結果を永続的に保存するには、必ず a を発行してください。そうしないと、sql*plus を終了するときにトランザクションが破棄されます。sql*plus では、トランザクションは自動的にコミットされません。

于 2013-04-24T20:39:21.673 に答える