DECLARE Procedure

Description

Declares a procedure for the specified transaction object.

NoteDBMS-specific Not all DBMSs support stored procedures.

Syntax

DECLARE ProcedureName PROCEDURE FOR 
	StoredProcedureName
	@Param1=Value1, @Param2=Value2,...
	{USING TransactionObject};

Parameter

Description

ProcedureName

Any valid PocketBuilder name.

StoredProcedureName

Any stored procedure in the database.

@Paramn=Valuen

The name of a parameter (argument) defined in the stored procedure and a valid PocketBuilder expression; represents the number of the parameter and value.

TransactionObject

The name of the transaction object for which you want to declare the procedure. This clause is required only for transaction objects other than the default (SQLCA).

Usage

DECLARE Procedure is a nonexecutable command. It is analogous to declaring a variable.

To declare a local procedure, open the script in the Script view and select Paste SQL from the PainterBar or the Edit>Paste Special menu. To declare a global, instance, or shared procedure, select Declare from the first drop-down list in the Script view and Global Variables, Instance Variables, or Shared Variables from the second drop-down list, then select Paste SQL.

For information about global, instance, shared, and local scope, see “Where to declare variables”.

Examples

Example 1

Example 1 This statement declares the Sybase ASE procedure Emp_proc for the database specified in the default transaction object. It references the Emp_name_var and Emp_sal_var variables, which must be set to appropriate values before you execute the EXECUTE Emp_proc command:

DECLARE Emp_proc procedure for GetName

	@emp_name = :Emp_name_var, 

	@emp_salary = :Emp_sal_var ;

Example 2

Example 2 This statement declares the ORACLE procedure Emp_proc for the database specified in the default transaction object. It references the Emp_name_var and Emp_sal_var variables, which must be set to appropriate values before you execute the EXECUTE Emp_proc command:

DECLARE Emp_proc procedure for GetName

(:Emp_name_var, :Emp_sal_var) ;