• ベストアンサー

PL/SQLで連結(||)と結合(=>)の違い

質問させていただきます。 現在、ネットで学びながらPL/SQLで開発を行っています。 演算子についてなのですが、 連結演算子(||)と結合演算子(=>)は、どのような差異があるのでしょうか? ご存じの方がいらしたら、よろしくお願いします。

  • Oracle
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

連結演算子(||)は普通に文字列などを連結するもの 'AAA'||'BBB'は'AAABBB'になる。 結合演算子(=>)は主にサブプログラム(プロシージャ/ファンクション/パッケージ)を起動するときに使用するもので CREATE OR REPLACE PROCEDURE HOGEHOGE(cdata VARCHAR2,len number) IS BEGIN DBMS_OUTPUT.PUT_LINE('data=['||cdata||']:length='||len||':'); END; ↑のようなプロシージャがある場合 BEGIN HOGEHOGE('hogehoge',length('hogehoge')); -- (1) HOGEHOGE(len=>length('hogehoge'),cdata=>'hogehoge'); -- (2) END; 通常(1)の書き方をしますが (2)のようにパラメータの順番を意識せずに設定することができます。 「PL/SQLユーザーズ・ガイド及びリファレンス」を参照してみてください。

ferini
質問者

お礼

大変わかりやすく説明いただきありがとうございました。

関連するQ&A

  • SQLとPL/SQLの違いなど

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

  • PL/SQLとPL/pgSQLの違い

    こんにちは。 現在の環境がOracle8iで、次のシステムがPostgreSQLで構築されることになりました。 今後に向けてPL/SQLを勉強しようと思ったのですが、PostgreSQLにはPL/pgSQLというストアドプロシージャが有ると言うことを知りました。 そこで質問なのですが、PL/SQLとPL/pgSQLは何か大きな違いは有るのでしょうか? PL/SQLの勉強をすれば、PL/pgSQLも出来るようになるのかを教えていただけますでしょうか。

  • PL/SQLについて

    PL/SQLについて お世話になります。 現在Oracle 11gと.Net C#で開発をしている物です。 正直どちらも初心者で悪戦苦闘している日々ですが、 PL/SQLのカーソルについて知りたい事があります。 PL/SQLでカーソルを作成しました。 そしてその同一ストアドプロシージャ文の中で、 先のカーソルの結果で得られた値から別の新たなカーソル でまた新たな結果を返すと言う様な、二重カーソルの様な 事は可能でしょうか。 どなたかご親切な方、ご教授頂きたく宜しくお願い致します。 出来れば、サンプルや、HP等ご紹介頂ければありがたく 思います。

  • PL/SQL

    こんにちは。皆様にお力をお貸しいただきたく、書き込みさせていただきます。 今月からPL/SQLを使っています。しかし私は全くの初心者です。「やさしいOraclePL/SQL入門」をさらっと読んだ程度です。 今ソースの解析をしていて、わからないことがあったらネットで調べるというような感じにしているのですが、なかなかネットでの検索がうまくできません。 そこで三つ質問があります。 1.リファレンス等のあるPL/SQLのお薦めサイトってありますか?(日本語onlyで) 2.PL/SQLのお薦めの参考書を教えてください。 3.ファンクションの中で   NAME "Kishuizon_Check"   LIBRARY LIBDDA_EXTERN   LANGUAGE C と書いてあったのですが、今まで見たことのない構文(?)で困ってます。なんとなく意味はわかるものの、きちんと「こういう意味です」というのが知りたいです。 ネットで検索したんですけど、うまくいきませんでした。 以上、初心者の質問ですが、本人は結構真剣に困っていますので皆様にご教示いただきたく思います。 皆様お忙しいとは思いますが、何卒宜しくお願い致します。

  • PL/SQLを自宅で組める環境

    仕事でPL/SQLのプログラムを書いています。 開発環境はosqleditです。 自宅でも練習用にPL/SQLをプログラムが組める環境を整えたいです。 まずなにからはじめたら良いのでしょうか。

  • PL/SQLとMS SQLServerの違いを教えてください

    SQLを学ぼうとしているのですが。。。 概要で煮詰まってしまいました;; SQLはRDBMSにおいてのデータベース言語で、直接データベースに宣言を実行でき、PL/SQLはOracle社が開発した、手続き型に組み込めるSQLで、 MS SQLServerは。。。? Oracle SQLは。。。? と、調べれは調べるほどに、訳が分からなくなってきました; PL/SQLとMS SQLServerの違いはなんなのでしょうか? Oracle SQLとSQLは別物と考えてよいのでしょうか? 使用できるOSが違うのか、組み込める言語が特定されているのか、具体的な違いが判らず、どのような条件下で使用したらよいのかわかりません。 お手数ですがご解答よろしくお願いいたします。

  • PL/SQLを使った開発について質問があります。

    PL/SQLを使った開発について質問があります。 私は、Java(eclipse)を使用して開発を経験しております。 そこで質問があります。 eclipseを使ってPL/SQLの開発は可能でしょうか? また、可能な場合ですが、以下の条件を達成できますか? ・プロシージャが多くても、一発で目的の位置にジャンプしたい ・プロシージャの呼び出し元へジャンプしたい ・変数の宣言へジャンプしたい ・変数名の変更時などに自動リファクタリングしてほしい 等です。 どうか、ご回答よろしくお願いします。

    • ベストアンサー
    • Java
  • PL/SQLからPL/SQLのコール

    すみませんが、教えて下さい PL/SQLのソースからPL/SQLのソースをCALLする事は可能なのでしょうか? (プロシジャ・ファンクション等のストアドプログラムを使用せず) 知っている方がいましたら、回答をお願いしますm(_ _)m

  • PL/SQLでのSQL文法

    こんにちは。教えてください。 PL/SQLを使うのが初めで戸惑っています。 まず、PROCEDUREで =========================== BEGIN SELECT NAME FROM TABLE1 WHERE NAME='tanaka'; END; / =========================== このように書いて実行させようとすると、「コンパイルエラー」 「INTO句はこのSELECT文に入ります」というエラーが出ます。 SQLの文法的には間違ってないと思うのですが、INTO句とはこれいかに?? ネットでPL/SQLで検索かけて調べたのですがあまりにも初歩すぎて わかりませんでした。 PL/SQLやORACLEのメーリングリストでお勧めがありましたら教えてください。 よろしくお願いいたします。

  • PL/SQL開発環境について

    こんにちは。PL/SQLにて開発を行っています。シェアウエアでも、フリーでも良いのですが、お勧めの開発支援ツールを教えて頂けますでしょうか? 宜しくお願い致します。