OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

PL/SQLの文法

  • すぐに回答を!
  • 質問No.191547
  • 閲覧数150
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 95% (176/185)

oracle8,windows95を使用しています。
PL/SQLで、シーケンスを削除して再度作成するという処理を書きたいのですが、PL/SQLはまったくの素人のためアドバイスをいただけたら、と思います。

実行したいのは、以下のSQL文です。

1) SQL>DROP SEQUENCE SQC_TEST
2) SQL>CREATE SEQUENCE SQC_TEST
INCREMENT BY 1
START WITH 1
MAXVALUE 9999
MINVALUE 1
CYCLE;

これを、PL/SQLで実行するにはどうかけばよいでしょうか?

CREATE OR REPLACE PROCEDURE HC_CREATE_SEQ
BEGIN
DROP SEQUENCE SEQ_車両申請 FROM DUAL;

CREATE SEQUENCE SQC_TEST
INCREMENT BY 1
START WITH 1
MAXVALUE 9999
MINVALUE 1
CYCLE;
END;
/

と書いてみましたがコンパイルに失敗しましたとおこられてしまいます。
ヒントだけでもいただけたら、と思います。
よろしくお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 30% (264/874)

PL/SQLでは、データ定義言語(DDL)は基本的には記述できません。
よって、 CREATE xxxx とか DROP xxxx なんて書くことはできないというわけです。
じゃあ方法はぜんぜんないかというと...そんなことはないわけで、PL/SQLについてくる「DBMS_SQLパッケージ」っていうものを使います。
↓のサイトでもちらっと紹介していますが、詳細は
「PL/SQL パッケージ・プロシージャリファレンス」(ORACLE開発者マニュアルセット所収)を参照してください
補足コメント
sunnys

お礼率 95% (176/185)

できました!!(^O^)/
参考URLが大変参考になりました。
どうもありがとうございました~
また何かありましたら宜しくお願いいたします!
投稿日時 - 2001-12-28 11:37:59
お礼コメント
sunnys

お礼率 95% (176/185)

回答ありがとうございます。
なるほど、そのままでは使えないんですね。
リファレンスが手元にないので参考URLを見てきます。
また質問するかもしれませんので宜しくお願いいたします。
投稿日時 - 2001-12-28 10:01:23
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ