Caché SQL Reference
DROP FUNCTION
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Deletes a function.
Synopsis
DROP FUNCTION name FROM className
Arguments
name The name of the function to be deleted. The name is an identifier. For further details see the “Identifiers” chapter of Using Caché SQL.
FROM className Optional — If specified, the FROM className clause deletes the function from the given class. If the FROM clause is not specified, Caché searches all classes of the schema for the function, and deletes it. However, if no function of this name is found, or more than one function of this name is found, an error code is returned. If the deletion of the function results in an empty class, DROP FUNCTION deletes the class as well.
Description
The DROP FUNCTION command deletes a function. When you drop a function, Caché revokes it from all users and roles to whom it has been granted and removes it from the database.
In order to drop a function, you must have %DROP_FUNCTION administrative privilege, as specified by the GRANT command. Otherwise, the system generates an SQLCODE -99 error (Privilege Violation).
If the specified function does not exist, DROP FUNCTION generates an SQLCODE -362 error. If the specified class does not exist, DROP FUNCTION generates an SQLCODE -360 error. If the specified function could refer to two or more functions, DROP FUNCTION generates an SQLCODE -361 error; you must specify a className to resolve this ambiguity.
Examples
The following embedded SQL example attempts to delete myfunc from the class User.Employee. (Refer to CREATE TABLE for an example that creates class User.Employee.)
   &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}
 
See Also