
はじめまして、ほんの最近プログラムの世界に入ったキグと申します。
2週間、インターネットや参考書(ポケットリファレンス、PL/SQL入門)などで調べていたのですが分かりませんでしたので質問させていただきます。
ORACLE11gパーソナルエディションでやっています。
(CSEで作成実行しました。)
****************************
作ったSQL文
CREATE OR REPLACE PROCEDURE PRO_1
IS
BEGIN
(実行確認できたSELECT文)
END
※試してみたこと、
SELECT文の列指定はアスタを使わずに書きました。
AUTHID CURRENT_USERをプロシージャ作成のときに入れてみました。
****************************
EXEC PRO_1
エラー→構文エラーまたはアクセス違反です。
BEGIN PRO_1; END;
エラー→オブジェクト'PRO_1'が無効です。
上記エラーが出まして実行できていない状態です。
解決方法が分かる方いらっしゃいましたら、ぜひ回答を
お願いしたいです。
以上よろしくお願い申し上げます。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
create or replace procedure pro_1
as
a varchar2(2000);
begin
select dummy into a from dual;
end;
プロシージャが作成されました(124 msec.)
No.3
- 回答日時:
ざっと見て
・文の区切りに「;」が必要です。
・oracleのストアドではselect文で一行のみのデータを取得する場合
「SELECT AGE into wk_age FROM M_AGE;」
のように「into」が必要です。
・oracleのストアドプロシージャはMS SQLSERVERのように、SELECT文
そのままを記述して結果を返すことはできません
ですのでストアドを使って何をするのかによってやり方は大きく異なって
きます。
具体的にどういうことをしたいのでしょうか?
No.2
- 回答日時:
「CREATE OR REPLACE PROCEDURE PRO_1」でコンパイルエラー出てませんか?
CSEではなくSQL*PLUSで実行してみてください。
後、できれば
> (実行確認できたSELECT文)
の部分も省略せずに補足したほうがいいと思いますよ。
この回答への補足
ありがとうございます。
SQL*PLUSで
SQL>CREATE OR REPLACE PROCEDURE PRO_1
2 IS
3 BEGIN
4 SELECT AGE FROM M_AGE
5 END
6 /
を実行したところ
「プロシージャは作成しましたがコンパイルエラーがあります。」
と出ました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
ストアドファンクションの実行
-
CASE文のエラーについて
-
ACCESSでパススルークエリにパ...
-
FULL OUTER JOIN (Javaから発行)
-
PHPからODBCによるOracle10gへ...
-
sqlのエラーハンドリングについ...
-
PL/SQL PLS-00103エラーについて
-
PL/SQLでPLS-00201のエラー
-
Oracle9 union使用時の結合制限...
-
ORA-01843: 指定した月が無効で...
-
PL/SQL ストアドプロシージャ...
-
「ORA-00907: 右カッコがありま...
-
SQL*Plus内でPL/SQL、SQLを実行...
-
ExcelVBAからOracleストアド実行
-
エラー「単一グループのグルー...
-
トリガーのエラー
-
INSERT文の副問合わせで*は使え...
-
ORA-03113のエラーでインスタン...
-
HAVING句でのBETWEEN演算子
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
はじめまして!
-
ORA-01843: 指定した月が無効で...
-
PL/SQL PLS-00103エラーについて
-
シェルスクリプトでオラクルの...
-
PL/SQLのコンパイルエラーにつ...
-
PCC-S-02201エラーの対処を教え...
-
「ORA-00907: 右カッコがありま...
-
ORA-14459: GLOBALキーワードが...
-
ORA-06502のエラー
-
PL/SQLでPLS-00201のエラー
-
DATABSE LINKについて
-
sqlのエラーハンドリングについ...
-
SQLLOADER
-
無効なSQL文の具体例を教えてく...
-
PL/SQLによるCREATE TABLE後のI...
-
ビューが作成できない
-
ストアドファンクションの実行
-
pro*c で pl/sql に変数を渡す...
おすすめ情報