PL/SQLでファンクションの呼出を行いたいと思っています。
そこでファンクション名を変数で指定したいと思っているのですがうまくいきません。
ファンクション
FUNCTION Check
(
pi_Syori_No IN NUMBER, -- 処理No.
po_Function_Name OUT VARCHAR2 -- ファンクション名
) RETURN BOOLEAN
IS
TYPE Test_List IS VARRAY(100) OF VARCHAR2(10) NOT NULL;
TYPE FcNameList IS VARRAY(100) OF VARCHAR2(10) NOT NULL;
MmsCheckList Test_List := Test_List('○','×');
FcNameCheckList FcNameList := FcNameList('Check','Check');
BEGIN
IF MmsCheckList(pi_Syori_No) = '○' THEN
po_Function_Name :=FcNameCheckList(pi_Syori_No);
ELSE
po_Function_Name :=NULL;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END Check;
メイン
CREATE OR REPLACE PROCEDURE Test
(
po_Out OUT VARCHAR2
)
IS
Modoriti BOOLEAN :=TRUE;
F_Neme VARCHAR2(2000) :=NULL;
BEGIN
IF Check(1,F_Neme) = TRUE THEN
Modoriti := F_Neme(2,F_Neme);
END IF;
EXCEPTION
WHEN OTHERS THEN
po_Out := 'エラー';
END Test;
この状態で実行すると下記のエラーが出てしまいます。
[PLS-00222: この有効範囲内に、名前'F_Neme'の関数は存在しません。]
ファンクション名に変数を使うのは無理なのでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ファンクションをどのように使いたいのか、質問に明記された方が回答があるかも知れませんよ。
なるべく実例に近づけて。
質問を出しなおしてみては?
ご返事が遅くなり申し訳ありません。
assault852様の言われるとおり、ファンクションをどのように使いたいかなどを、しっかり明記していませんでした。
また、自分の中でも明確な使い方がしっかりしておりませんので一度締め切らせていただき、
再度まとまりましたら質問させていただきたいと思います。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String""から型'Double'への変...
-
UserForm1.Showでエラーになり...
-
エクセルVBA 「On Error GoTo...
-
【VBA】ワークブックを開く時に...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
On ErrorでエラーNoが0
-
VB.net 重複チェックがしたいです
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
「実行時エラー '3167' レコー...
-
マクロで"#N/A"のエラー行を削...
-
実行時エラー'-2147467259(8000...
-
実行したSQLの結果を返す方法
-
インポート時のエラー「データ...
-
【VB.NET】 パワポ操作を非表示で
-
VBA処理中に途中で止まってしま...
-
マクロの「SaveAs」でエラーが...
-
VB6とVB.NETでNullの扱いが違う?
-
【VBAエラー】Nextに対するFor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
On ErrorでエラーNoが0
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
エクセルVBA 「On Error GoTo...
-
【VBA】ワークブックを開く時に...
-
マクロの「SaveAs」でエラーが...
-
ACCESSで値を代入できないとは?
-
実行時エラー'-2147467259(8000...
-
インポート時のエラー「データ...
-
【VB.NET】 パワポ操作を非表示で
-
Filter関数を用いた結果、何も...
-
UBoundに配列がありませんとエ...
-
Excel vbaについての質問
-
メールの件名のセットでエラー...
おすすめ情報