私はoracleに多くのストアドプロシージャを記述していません。私はいくつかの教授法(例えば:http://plsql-tutorial.com/plsql-procedures.htm)を読んで、私が見た後に私のSPをモデル化しようとしましたが、私はまだ間違いがあります。すべてのヘルプは/Oracleストアドプロシージャを書く
う - :
create or replace
PROCEDURE TEST_SP()
BEGIN
insert into tablespace.tablename
select * from testtable;
END TEST_SP;
PLS-00103: Encountered the symbol ")" when expecting one of the following:
<an identifier> <a double-quoted delimited-identifier>
私は宣言セクションをしないのです印象を受けるが、私は私が宣言されることになっています理解していない:ここでは小さなサンプル手順とエラーされます感謝する。
は今、別のエラーを取得し、最初の応答からジャスティンのアドバイスに従っ:
create or replace
PROCEDURE TEST_SP
AS
BEGIN
insert into tablespace.tablename (col1, col2)
select (col1, col2) from testtable;
END TEST_SP;
PLS-00103: Encountered the symbol "AS" when expecting one of the following:
. , @ in <an identifier> <a double-quoted delimited-identifier> partition subpartition
として
ような何かを書くために、一般的に、より堅牢なのですか? SQL * Plusを使用して、ツールに問題がないことを確認できますか(特に、未終了のSQL文が存在するGUIアプリケーションの場合) INSERTでスキーマの名前ではなく表スペースの名前を実際に使用している場合は、ORA-00942エラーが発生します。一般的に、投稿した構文は有効ですが、 'SELECT'の列名の前後に括弧を入れません。 –
あなたが正しいです、私はテーブルスペースではなくスキーマ名を使用しています。私はsqldeveloperを使用しています。 –
'CREATE OR REPLACE PROCEDURE'文の上に正しく終了していない別のSQL文がないのは確かですか? SQL * Plusで 'CREATE OR REPLACE PROCEDURE'文を実行できますか? –