すみませんが、教えて下さい

PL/SQLのソースからPL/SQLのソースをCALLする事は可能なのでしょうか?
(プロシジャ・ファンクション等のストアドプログラムを使用せず)

知っている方がいましたら、回答をお願いしますm(_ _)m

このQ&Aに関連する最新のQ&A

A 回答 (1件)

意味が良く分かりませんが・・・



>PL/SQLのソースからPL/SQLのソースをCALLする事は可能なのでしょうか?
>(プロシジャ・ファンクション等のストアドプログラムを使用せず)
呼び出し元の「PL/SQLのソース」と言われているプログラムはストアードなんではないですか?
また、PL/SQLで記述されたプログラムはストアードと呼ばれると思いますけど。
(sqlPulsでの無名ブロックなどというツッコミ抜きで)

この回答への補足

大変申し訳ありません。補足します。
PL/SQLのソ-スというのは、UNIXサーバー上、直にあるソースの事です。

『例』
[a.sql]と[b.sql]というふたつのソースがあるとします。
[b.sql]がプロシジャ・ファンクション・パッケージであれば
[a.sql]から呼び出しは可能なのですが、
[b.sql]がプロシジャ・ファンクション・パッケージでない場合
場合の呼び出しは可能かどうか?という事です。
言葉たらずで申し訳ありませんm(_ _)m

-----------
『a.sql』の内容

declare
aa varchar2(10);
begin
:= 'b.sql';
dbms_output.put_line(aa || 'をCALLします。');
--★ ←ここでb.sqlをCALLしたいのです。
-- bがプロシジャ・ファンクション・パッケージであれば
--b;とすれば可能だと思うのですが。。
end;


-----------
『b.sql』の内容

declare
aa varchar2(10);
begin
dbms_output.put_line('a.sqlから実行されました!')
end;

補足日時:2003/10/27 13:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QサントリーCMハイ・カラの冬篇の女優

現在放映中のサントリー角ハイボールCM「ハイ・カラの冬」篇(菅野美穂、西田敏行、岸井ゆきの、板東晴が出演している)において、一番左側に座ってハイボールと唐揚げをおかわりする女優の名前と所属事務所をお教えいただければ幸いです。 ちなみに、真ん中がユマニテ所属の岸井ゆきのさん、一番右が、elite modelの板東晴さんです。 カウンターの主役はもちろん、研音所属の菅野美穂さん、そしてハイ・カラの意味が最初わからずきょとんとしているのが、オフィスコバック所属の西田敏行さんです。

CMのリンクは下記の通りで、その女優の写真を添付します。

http://www.youtube.com/watch?v=Y6F5WuL4_Hg

Aベストアンサー

内田亜希子 (うちだ あきこ) さん
http://www.ateam-japan.com/ateam/uchidaakiko/

QSQLとPL/SQLの違いなど

いま会社でPL/SQLのシステムを構築する話が持ち上がっているのですが
SQLとPL/SQLでどのような違いがあるのかがいまいち分かりません。
あと、PL/SQLの開発システムを導入しようとするときに
どのようなソフトを入れればよいのかも、よく分かっていない始末です。

単純な質問なのかもしれませんが、わかる方よろしくお願いします。

Aベストアンサー

>SQLとPL/SQLでどのような違いがあるのかがいまいち分かりません。

簡単に言いますとBASICに似た構文のプログラムをオラクル(DBMS)がSQLと同じレベルで処理してくれるものです。
他のデータベースで言うところのストアドプロシージャと同じですからロードはオラクル内に格納されオラクル内で実行されます。


>あと、PL/SQLの開発システムを導入しようとするときにどのようなソフトを入れればよいのかも、よく分かっていない始末です。

サーバにオラクルがインストールされていれば何もいらないと思います。
もちろん開発はテキストエディタになってしまいますが。

Q20年くらい前にカラムーチョのCMに出ていたおばあさん女優は?

いろいろ検索してみたのですが、なかなか分かりません。
20年くらい前にお菓子のカラムーチョの宣伝に出ていたおばあさん女優の名前を思いだしたいのです。
CMは煙とともにおばあさんが消えるという物だったと思います。

下の名前は、”ひさ”がついています。
名字はごく平凡だったと思うのですが、確信がありません。
割とメジャーな日本映画にもたびたび出ておられました。
今でも生きておられるのなら90近いか、超えているかもしれません。徹子の部屋で見かけたこともあるのですが、ずいぶん以前のことなので、ホームページに記録はありませんでした。
小さなおばあさんで、いつも着物を着ているイメージがあります。
どうか、よろしくお願いします。

Aベストアンサー

こんばんは。

カラムーチョのCMは知りませんが‥

その年代の女優さんで、
小柄で、いつも着物を着ているイメージで、
名前に<ひさ>がつくといえば、

<原ひさ子>さん、でしょうか?

参考URL:http://www.j-n.co.jp/kyouiku/link/michi/10/no10.html

QPL/SQLでのSQL文法

こんにちは。教えてください。
PL/SQLを使うのが初めで戸惑っています。
まず、PROCEDUREで
===========================
BEGIN

SELECT NAME FROM TABLE1 WHERE NAME='tanaka';

END;
/
===========================
このように書いて実行させようとすると、「コンパイルエラー」
「INTO句はこのSELECT文に入ります」というエラーが出ます。
SQLの文法的には間違ってないと思うのですが、INTO句とはこれいかに??

ネットでPL/SQLで検索かけて調べたのですがあまりにも初歩すぎて
わかりませんでした。
PL/SQLやORACLEのメーリングリストでお勧めがありましたら教えてください。
よろしくお願いいたします。

Aベストアンサー

コーディング例です。

**************************************************
*非ループ処理の例
**************************************************
.CREATE OR REPLACE PROCEDURE JOB1
.IS
.
.  w_NAME1  CHAR(10);
.
.BEGIN
.
.  SELECT NAME1 INTO w_NAME1 FROM TABLE1
.  WHERE TBL1_KEY = 'tanaka';
.
.  UPDATE TABLE2 SET NAME2 = w_NAME1
.  WHERE TBL2_KEY =  'tanaka';
.
.  COMMIT;
.
.EXCEPTION
.  WHEN OTHERS THEN
.    ROLLBACK;
.END;
./
**************************************************
*ループ処理の例
**************************************************
.CREATE OR REPLACE PROCEDURE JOB2
.IS
.
.  w_TABLE1 TABLE1%ROWTYPE;
.
.  CURSOR  c_TABLE1 IS
.  SELECT  NAME1
.  FROM   TABLE1
.  ORDER BY NAME1;
.
.BEGIN
.
.  OPEN c_TABLE1;
.
.  LOOP

.    FETCH
.      c_TABLE1
.    INTO
.      w_TABLE1;
.    EXIT WHEN c_TABLE1%NOTFOUND;
.
.    UPDATE TABLE2 SET NAME2 = w_TABLE1.w_NAME1
.    WHERE TBL2_KEY = w_TABLE1.w_TBL1_KEY;
.
.  END LOOP;
.
.  CLOSE c_TABLE1;
.
.  COMMIT;
.
.EXCEPTION
.  WHEN OTHERS THEN
.    ROLLBACK;
.END;
./

先頭のピリオドは無視してください。どこかにミスがあったらごめんなさい。

コーディング例です。

**************************************************
*非ループ処理の例
**************************************************
.CREATE OR REPLACE PROCEDURE JOB1
.IS
.
.  w_NAME1  CHAR(10);
.
.BEGIN
.
.  SELECT NAME1 INTO w_NAME1 FROM TABLE1
.  WHERE TBL1_KEY = 'tanaka';
.
.  UPDATE TABLE2 SET NAME2 = w_NAME1
.  WHERE TBL2_KEY =  'tanaka';
.
.  COMMIT;
.
.EXCEPTION
.  WHEN OTHERS THEN
.    ROLLBAC...続きを読む

Q生卵に2~3cmの噛み終わったガム状の物が入っていました(明らかにカラ

生卵に2~3cmの噛み終わったガム状の物が入っていました(明らかにカラザではない)
この卵は食べても大丈夫なのでしょうか?

Aベストアンサー

 異物が乳白色、ガム状のものだとすると、典型的な二重卵でしょうね。卵が形成される段階で、未成熟のものが他の卵の中に取り込まれてしまう現象です。
 卵は工業製品ではなくて自然の産物です。鶏卵の場合だと、様々な異常卵が大体2~3%は発生するそうです。たいていは選別のところで自動的に排除されるんですが、たまたまそこをすり抜けたんでしょうね。
 食べてもどうということはありませんが、食欲はそそられないでしょうね。

QPL/SQL ORA-06502エラーに関して(動的SQL)

こんにちは、いつもお世話になっております。
現在、会社で動的SQLを使用してとある開発をおこなっているのですが、
どうしても上手くいかないので、どなたか教えて下さいm(__)m
下記の動的SQL文で最後から2行目のSQL:DBMS_OUTPUT.PUT_LINE(varDel);
を実行するとORA-06502: PL/SQL:
数値または値のエラー: 文字列バッファが小さすぎます。のエラーが
発生します、過去ログやgoogleで検索をかけてみたのですが、
どうにも解決方法がわからず困っています・・・・
お知恵のある方、教えて下さいませm(__)m
※多分、sql文が長いせいだとは思うのですが、どうしても
これ以上は短くできず、静的ではなく、動的で動かさなければならない
という条件付きなんですが、宜しく御願いします。

DECLARE
numkeepD NUMBER := 0; -- データ保管期間格納用
varAST VARCHAR2(4) := '**'; -- アクセス区分定義外格納用
varkeepD VARCHAR2(2000); -- KEEP_DAYS取得SQL文格納用
varDel VARCHAR2(2000); -- DELETE文格納用

BEGIN
varkeepD := 'SELECT KEEP_DAYS FROM SMCI4T910 WHERE ACC_KBN = '''||varAST||'''';
DBMS_OUTPUT.PUT_LINE(varkeepD);
EXECUTE IMMEDIATE (varkeepD) INTO numkeepD;
DBMS_OUTPUT.PUT_LINE(numkeepD);
-- アクセスログデータ削除SQL文格納
varDel := 'DELETE FROM '||cTABLE_STCI1T910||' ST910 '
||'WHERE '
||'ST910.DELETE_FLG = SCIS_CTS.cDEL_NO AND '
||'EXISTS('
||'SELECT 1 '
||'FROM SMCI4T910 SM910 '
||'WHERE '
||'ST910.ACC_KBN = SM910.ACC_KBN AND '
||'ST910.ACC_CYMD < TO_CHAR(SYSDATE - SM910.KEEP_DAYS,''YYYYMMDD'') AND '
||'ST910.ACC_KBN <> varAST AND '
||'SM910.DELETE_FLG = SCIS_CTS.cDEL_NO)';
DBMS_OUTPUT.PUT_LINE(varDel);
--EXECUTE IMMEDIATE (varDel)
END;

こんにちは、いつもお世話になっております。
現在、会社で動的SQLを使用してとある開発をおこなっているのですが、
どうしても上手くいかないので、どなたか教えて下さいm(__)m
下記の動的SQL文で最後から2行目のSQL:DBMS_OUTPUT.PUT_LINE(varDel);
を実行するとORA-06502: PL/SQL:
数値または値のエラー: 文字列バッファが小さすぎます。のエラーが
発生します、過去ログやgoogleで検索をかけてみたのですが、
どうにも解決方法がわからず困っています・・・・
お知恵のある方、教えて下さいませm(...続きを読む

Aベストアンサー

ごめんなさい、"SUBSTRB"の方がいいですね。

文字数ではなくバイトで切り出しです。

QKARAのCM

まず曖昧ですm(__)m
分かって下さった方回答下さい☆

KARAのCM?だと思うのですが、でも多分KARAですね‥。
字幕にKARAとあったと思うので‥で、、!

エッェ~エェオ~♪

みたいな歌詞でちょいセクシー系な歌のタイトルを知りたいのですが‥これだけでわかる方のみ教えて下さいm(__)m

最近のCMです

Aベストアンサー

こんにちわ☆

たしかに最近KARAのCMであったらソイカラか目薬だかコンタクトのはずですが

その歌詞ってKARAのルパンではないてしょうか?

QPL/SQL

こんにちは。皆様にお力をお貸しいただきたく、書き込みさせていただきます。

今月からPL/SQLを使っています。しかし私は全くの初心者です。「やさしいOraclePL/SQL入門」をさらっと読んだ程度です。
今ソースの解析をしていて、わからないことがあったらネットで調べるというような感じにしているのですが、なかなかネットでの検索がうまくできません。
そこで三つ質問があります。
1.リファレンス等のあるPL/SQLのお薦めサイトってありますか?(日本語onlyで)

2.PL/SQLのお薦めの参考書を教えてください。

3.ファンクションの中で
  NAME "Kishuizon_Check"
  LIBRARY LIBDDA_EXTERN
  LANGUAGE C
と書いてあったのですが、今まで見たことのない構文(?)で困ってます。なんとなく意味はわかるものの、きちんと「こういう意味です」というのが知りたいです。
ネットで検索したんですけど、うまくいきませんでした。

以上、初心者の質問ですが、本人は結構真剣に困っていますので皆様にご教示いただきたく思います。
皆様お忙しいとは思いますが、何卒宜しくお願い致します。

こんにちは。皆様にお力をお貸しいただきたく、書き込みさせていただきます。

今月からPL/SQLを使っています。しかし私は全くの初心者です。「やさしいOraclePL/SQL入門」をさらっと読んだ程度です。
今ソースの解析をしていて、わからないことがあったらネットで調べるというような感じにしているのですが、なかなかネットでの検索がうまくできません。
そこで三つ質問があります。
1.リファレンス等のあるPL/SQLのお薦めサイトってありますか?(日本語onlyで)

2.PL/SQLのお薦めの参考...続きを読む

Aベストアンサー

こんにちわ。

1, 2 については、No1 の方のおっしゃるように、OTN Japan が良いでしょう。
参考書についてですが、「OTN Book ストア」を見てみては如何でしょう?
送料無料で、5% off で購入できます。

3 の内容ですが、これは「外部プロシージャ」です。
PL/SQL のProcedure/Function をC で作成したライブラリに
マッピングしています。
このようにする事で、PL/SQL の中からサーバ上のDLL で提供される
関数を呼び出す事ができます。
→ この機能を使うには、Listener を設定してやる必要があります。
詳細は、アプリケーション開発者ガイドにあったかと思います。

参考URL:http://www.cbook24.com/partner/oracle/oraclePages.asp?page%5Ftype=3&associaterefererid=&promo%5Freferer%5Fid=&promo%5Fle

QKARA(カラ)は人気が出ると思いますか?

KARA(カラ)は人気が出ると思いますか?

実家に行ったら母親が、女の子の大半は誉めないけど「カラはAKBより健康的でいやらしくない」と言ってました。

ゲリラライブで警察に止めさせられたグループですよね?ハタチの頃流行った沖縄出身のダンスユニットを思い出しますが??

Aベストアンサー

人気は出ない。

これならPerfumeでも見てた方がよっぽどマシ。

日本語覚えたのは評価出来るけど、歌もダンスももう色々と古臭い(笑)

朝鮮マンセーの電通やマスゴミはバカみたいに煽るんだろうけど。
どうせまた『ごく一部の関係者』だけ盛り上がって終わりでしょう。
動員して「大人気!」と煽り、関係者が買い占め「大ヒット!」と宣伝でしょ?

QPL/SQLでCREATE SEQUENCEの呼び出し

いつも参考にさせていただいてます。

select文で取得した日付の年下2桁をもとに
順序を取得したいと思っています。

CREATE SEQUENCEは

seq_id_04
seq_id_05
seq_id_06
  :
  
というように年ごとに作成されてあります。

seq_id_yy.nextval
yyを取得した年に置き換えて実行したいのですが、
なかなかうまくいきません。

初めてのPL/SQLのため説明文におかしな部分があったらすみません。
ご存知の方がいましたら、ぜひぜひご教授ください。

Aベストアンサー

こんにちわ。

Execute immediate 文を使えばできる筈です。
先ずは、
 vSQL varchar2(256);
 vSeqNo NUMBER(8);
のように変数が定義されていたとして、
vSQL にSequence をSelect するSQL 文を作成します。
こんな感じです。
→ vSQL := 'SELECT seq_id_' || to_char(sysdate, 'YY') || '.nextval from dual';

そうしたら、
PL/SQL ブロックの中で、
execute immediate vSQL into vSeqNo;
として下さい。


人気Q&Aランキング

おすすめ情報