sql >> データベース >  >> RDS >> Oracle

左側/右側のユーザー定義演算子を作成します

    @ ajmalmhd04 回答 へのコメントからの抜粋

    はい、ドキュメント ユーザー定義の演算子、特にこの部分を定義する方法が少し混乱しています:

    残念ながら、これは、(ほとんどの場合)組み込み演算子を使用できるが、同じ方法では使用できないユーザー定義演算子を使用できることを意味します( operator1 OPERATOR operator2 たとえば)<などの組み込み演算子を使用します または= 。ユーザー定義の演算子は、あまり詳しく見ていない場合でも、DMLステートメント( select )でのみ使用できることを除いて、関数を呼び出す別の方法です。 、挿入 など)。 PL / SQLで直接使用することはできず、DMLを介してのみ使用できます。したがって、PL / SQLでこのようなものを使用すると、 PLS-00548:演算子の使用が無効になります。

    if operator(<<arguments>>) = 1 then
      -- something
    end if;
    

    アプリケーション固有のサーバーベースの拡張機能(データカートリッジ)、たとえばインデックスタイプの開発に関与していない場合、演算子を作成して使用することの利点は、私には個人的には見えません。演算子が使えるし、関数が使えない状況は考えられません。ただし、反対は真実ではありません。オーバーロードされた関数として使用する方法として、複数のバインディングを持つオペレーターの機能を見ることができます。しかし、その一方で、パッケージでも同じことを簡単に実現できます。



    1. mysqlテーブルから選択WHEREfield='$ array'?

    2. Rails、MySQLなどをインストールするとすべてがうまくいかない

    3. mysqlプロシージャの名前を変更します

    4. EasysoftODBCドライバーとODBCINSTライブラリ