Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

DROP FUNCTION

関数を削除します。

Synopsis

DROP FUNCTION name [ FROM className ]

引数

name 削除される関数の名前。識別子の名前です。詳細は、"Caché SQL の使用法" の “識別子“ の章を参照してください。
FROM className オプション — 指定があれば、FROM className 節は与えられたクラスから関数を削除します。FROM 節が指定されていない場合、Caché はそのスキーマのすべてのクラスで該当する関数を検索し、削除します。しかし、この名前での関数が見つからない場合、または複数の同名の関数が見つかった場合、エラー・コードが返されます。関数の削除の結果、クラスが空になる場合、DROP FUNCTION はそのクラスも削除します。

概要

DROP FUNCTION コマンドは関数を削除します。関数を削除するとき、Caché は、権限が与えられている全ユーザおよびロールを無効にして、データベースから削除します。

関数の削除には、GRANT コマンドで指定された %DROP_FUNCTION 管理者特権が必要です。この特権がないと、SQLCODE -99 エラー (特権違反) が生成されます。

指定された関数が存在しない場合、DROP FUNCTION は SQLCODE -362 エラーを発行します。指定されたクラスが存在しない場合、DROP FUNCTION は SQLCODE -360 エラーを発行します。指定された関数が複数の関数を参照する可能性がある場合、DROP FUNCTION は SQLCODE -361 エラーを生成します。このあいまいさを解消するには、className を指定する必要があります。

以下の埋め込み SQL の例は、クラス User.Employee からの myfunc の削除を試行します (クラス User.Employee の作成例は、"CREATE TABLE" を参照してください)。

   &sql(DROP FUNCTION myfunc FROM User.Employee)
  IF SQLCODE=0 {
    WRITE !,"Function deleted" }
  ELSEIF SQLCODE=-360 {
    WRITE !,"Nonexistent class: ",%msg }
  ELSEIF SQLCODE=-362 {
    WRITE !,"Nonexistent function: ",%msg }
  ELSE {WRITE !,"Unexpected Error code: ",SQLCODE}

関連項目

FeedbackOpens in a new tab