com.ibm.db.models.db2
Interface DB2Procedure

All Superinterfaces:
commonj.sdo.DataObject, DB2AccessPlan, DB2Routine, org.eclipse.emf.ecore.sdo.EDataObject, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.ENamedElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier, org.eclipse.wst.rdb.internal.models.sql.routines.Procedure, org.eclipse.wst.rdb.internal.models.sql.routines.Routine, java.io.Serializable, org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject
All Known Subinterfaces:
FederatedProcedure
All Known Implementing Classes:
DB2ProcedureImpl, FederatedProcedureImpl

public interface DB2Procedure
extends org.eclipse.wst.rdb.internal.models.sql.routines.Procedure, DB2Routine

A representation of the model object 'DB2 Procedure'. SQL Reference for Cross-Platform Development - v1.1 http://www7b.software.ibm.com/dmdd/library/techarticle/0206sqlref/0206sqlref.html Procedures (Chapter 1. Concepts 9) A procedure (sometimes called a stored procedure) is a routine that can be called to perform operations that can include both host language statements and SQL statements. Procedures are classified as either SQL procedures or external procedures. SQL procedures contain only SQL statements. External procedures reference a host language program which may or may not contain SQL statements. A procedure is created with the CREATE PROCEDURE statement. For more information about creating procedures, see "CREATE PROCEDURE" on page 366. Procedures in SQL provide the same benefits as procedures in a host language. That is, a common piece of code need only be written and maintained once and can be called from several programs. Host languages can easily call procedures that exist on the local system. SQL can also easily call a procedure that exists on a remote system. In fact, the major benefit of procedures in SQL is that they can be used to enhance the performance characteristics of distributed applications. Assume several SQL statements must be executed at a remote system. There are two ways this can be done. Without procedures, when the first SQL statement is executed, the application requester will send a request to an application server to perform the operation. It then waits for a reply that indicates whether the statement executed successfully or not and optionally returns results. When the second and each subsequent SQL statement is executed, the application requester will send another request and wait for another reply. If the same SQL statements are stored in a procedure at an application server, a CALL statement can be executed that references the remote procedure. When the CALL statement is executed, the application requester will send a single request to the current server to call the procedure. It then waits for a single reply that indicates whether the CALL statement executed successfully or not and optionally returns results.

The following features are supported:

See Also:
DB2ModelPackage.getDB2Procedure()

Field Summary
 
Fields inherited from interface com.ibm.db.models.db2.DB2Routine
CLEAN, DIRTY, DIRTY_DDL
 
Method Summary
 DB2ProcedureDeploy getDeploy()
          Returns the value of the 'Deploy' containment reference.
 DB2JavaOptions getJavaOptions()
          Returns the value of the 'Java Options' containment reference.
 org.eclipse.wst.rdb.internal.models.sql.datatypes.IntegerDataType getReturn()
          Returns the value of the 'Return' containment reference.
 java.lang.String getVersion()
          Returns the value of the 'Version' attribute.
 boolean isModelResultSets()
          Returns the value of the 'Model Result Sets' attribute.
 boolean isNullInput()
          Returns the value of the 'Null Input' attribute.
 void setDeploy(DB2ProcedureDeploy value)
          Sets the value of the 'Deploy' containment reference.
 void setJavaOptions(DB2JavaOptions value)
          Sets the value of the 'Java Options' containment reference.
 void setModelResultSets(boolean value)
          Sets the value of the 'Model Result Sets' attribute.
 void setNullInput(boolean value)
          Sets the value of the 'Null Input' attribute.
 void setReturn(org.eclipse.wst.rdb.internal.models.sql.datatypes.IntegerDataType value)
          Sets the value of the 'Return' containment reference.
 void setVersion(java.lang.String value)
          Sets the value of the 'Version' attribute.
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.routines.Procedure
getMaxResultSets, getResultSet, isOldSavePoint, setMaxResultSets, setOldSavePoint
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.routines.Routine
getAuthorizationID, getCreationTS, getExternalName, getInputParameters, getLanguage, getLastAlteredTS, getOutputParameters, getParameters, getParameterStyle, getSchema, getSecurity, getSource, getSpecificName, getSqlDataAccess, isDeterministic, setAuthorizationID, setCreationTS, setDeterministic, setExternalName, setLanguage, setLastAlteredTS, setParameterStyle, setSchema, setSecurity, setSource, setSpecificName, setSqlDataAccess
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject
addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, getPrivileges, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel
 
Methods inherited from interface org.eclipse.emf.ecore.sdo.EDataObject
getInstanceProperties
 
Methods inherited from interface commonj.sdo.DataObject
createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, delete, get, get, get, getBigDecimal, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getBytes, getBytes, getBytes, getChar, getChar, getChar, getContainer, getContainmentProperty, getDataGraph, getDataObject, getDataObject, getDataObject, getDate, getDate, getDate, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInt, getList, getList, getList, getLong, getLong, getLong, getSequence, getSequence, getSequence, getShort, getShort, getShort, getString, getString, getString, getType, isSet, isSet, isSet, set, set, set, setBigDecimal, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBigInteger, setBoolean, setBoolean, setBoolean, setByte, setByte, setByte, setBytes, setBytes, setBytes, setChar, setChar, setChar, setDataObject, setDataObject, setDataObject, setDate, setDate, setDate, setDouble, setDouble, setDouble, setFloat, setFloat, setFloat, setInt, setInt, setInt, setList, setList, setList, setLong, setLong, setLong, setShort, setShort, setShort, setString, setString, setString, unset, unset, unset
 
Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
getName, setName
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotations
 
Methods inherited from interface com.ibm.db.models.db2.DB2Routine
getChangeState, getDebugId, getExtendedOptions, getFenced, getOrigParmSig, getOrigSchemaName, getParmCcsid, getProgramType, getRoutineExtensions, getSpecialRegister, getThreadsafe, isDbInfo, isFederated, isImplicitSchema, setChangeState, setDbInfo, setDebugId, setFederated, setFenced, setImplicitSchema, setOrigParmSig, setOrigSchemaName, setParmCcsid, setProgramType, setSpecialRegister, setThreadsafe
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.routines.Routine
getAuthorizationID, getCreationTS, getExternalName, getInputParameters, getLanguage, getLastAlteredTS, getOutputParameters, getParameters, getParameterStyle, getSchema, getSecurity, getSource, getSpecificName, getSqlDataAccess, isDeterministic, setAuthorizationID, setCreationTS, setDeterministic, setExternalName, setLanguage, setLastAlteredTS, setParameterStyle, setSchema, setSecurity, setSource, setSpecificName, setSqlDataAccess
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject
addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, getPrivileges, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel
 
Methods inherited from interface org.eclipse.emf.ecore.sdo.EDataObject
getInstanceProperties
 
Methods inherited from interface commonj.sdo.DataObject
createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, delete, get, get, get, getBigDecimal, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getBytes, getBytes, getBytes, getChar, getChar, getChar, getContainer, getContainmentProperty, getDataGraph, getDataObject, getDataObject, getDataObject, getDate, getDate, getDate, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInt, getList, getList, getList, getLong, getLong, getLong, getSequence, getSequence, getSequence, getShort, getShort, getShort, getString, getString, getString, getType, isSet, isSet, isSet, set, set, set, setBigDecimal, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBigInteger, setBoolean, setBoolean, setBoolean, setByte, setByte, setByte, setBytes, setBytes, setBytes, setChar, setChar, setChar, setDataObject, setDataObject, setDataObject, setDate, setDate, setDate, setDouble, setDouble, setDouble, setFloat, setFloat, setFloat, setInt, setInt, setInt, setList, setList, setList, setLong, setLong, setLong, setShort, setShort, setShort, setString, setString, setString, unset, unset, unset
 
Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
getName, setName
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotations
 
Methods inherited from interface org.eclipse.wst.rdb.internal.models.sql.schema.SQLObject
addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, getPrivileges, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel
 
Methods inherited from interface org.eclipse.emf.ecore.sdo.EDataObject
getInstanceProperties
 
Methods inherited from interface commonj.sdo.DataObject
createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, createDataObject, delete, get, get, get, getBigDecimal, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getBytes, getBytes, getBytes, getChar, getChar, getChar, getContainer, getContainmentProperty, getDataGraph, getDataObject, getDataObject, getDataObject, getDate, getDate, getDate, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInt, getList, getList, getList, getLong, getLong, getLong, getSequence, getSequence, getSequence, getShort, getShort, getShort, getString, getString, getString, getType, isSet, isSet, isSet, set, set, set, setBigDecimal, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBigInteger, setBoolean, setBoolean, setBoolean, setByte, setByte, setByte, setBytes, setBytes, setBytes, setChar, setChar, setChar, setDataObject, setDataObject, setDataObject, setDate, setDate, setDate, setDouble, setDouble, setDouble, setFloat, setFloat, setFloat, setInt, setInt, setInt, setList, setList, setList, setLong, setLong, setLong, setShort, setShort, setShort, setString, setString, setString, unset, unset, unset
 
Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
getName, setName
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotations
 

Method Detail

isModelResultSets

boolean isModelResultSets()
Returns the value of the 'Model Result Sets' attribute. The default value is "false".

True means that the stored procedure should have its result sets modeled. False means that even if the stored procedure returned result sets, they are not modeled. Most users will not be wanting to model the stored procedure return result sets metadata as this takes considerable time, and the developer may not want to even run the stored procedure (yes, even though no data is returned, it needs to be done to learn the metadata) at the time of the build. This was added so that the stored procedure could be completely described in a DADX document.

Returns:
the value of the 'Model Result Sets' attribute.
See Also:
setModelResultSets(boolean), DB2ModelPackage.getDB2Procedure_ModelResultSets()

setModelResultSets

void setModelResultSets(boolean value)
Sets the value of the 'Model Result Sets' attribute.

Parameters:
value - the new value of the 'Model Result Sets' attribute.
See Also:
isModelResultSets()

isNullInput

boolean isNullInput()
Returns the value of the 'Null Input' attribute. CALLED ON NULL INPUT

CALLED ON NULL INPUT always applies to stored procedures. This means that regardless if any arguments are null, the stored procedure is called. It can return a null value or a normal (non-null) value. Responsibility for testing for null argument values lies with the stored procedure.

The value NULL CALL may be used as a synonym for CALLED ON NULL INPUT for backwards and family compatibility.

Returns:
the value of the 'Null Input' attribute.
See Also:
setNullInput(boolean), DB2ModelPackage.getDB2Procedure_NullInput()

setNullInput

void setNullInput(boolean value)
Sets the value of the 'Null Input' attribute.

Parameters:
value - the new value of the 'Null Input' attribute.
See Also:
isNullInput()

getVersion

java.lang.String getVersion()
Returns the value of the 'Version' attribute. Initially for DB2 os390 v9 where SQL stored procedures can be versioned (New Function mode). LUW could follow suit, though it is not in plan for v9.1

Returns:
the value of the 'Version' attribute.
See Also:
setVersion(String), DB2ModelPackage.getDB2Procedure_Version()

setVersion

void setVersion(java.lang.String value)
Sets the value of the 'Version' attribute.

Parameters:
value - the new value of the 'Version' attribute.
See Also:
getVersion()

getReturn

org.eclipse.wst.rdb.internal.models.sql.datatypes.IntegerDataType getReturn()
Returns the value of the 'Return' containment reference.

The stored procedure can only return an integer data type, if a return type is specified.

Returns:
the value of the 'Return' containment reference.
See Also:
setReturn(IntegerDataType), DB2ModelPackage.getDB2Procedure_Return()

setReturn

void setReturn(org.eclipse.wst.rdb.internal.models.sql.datatypes.IntegerDataType value)
Sets the value of the 'Return' containment reference.

The stored procedure can only return an integer data type, if a return type is specified.

Parameters:
value - the new value of the 'Return' containment reference.
See Also:
getReturn()

getJavaOptions

DB2JavaOptions getJavaOptions()
Returns the value of the 'Java Options' containment reference. It is bidirectional and its opposite is 'Procedure'.

If the meaning of the 'Java Options' containment reference isn't clear, there really should be more of a description here...

Returns:
the value of the 'Java Options' containment reference.
See Also:
setJavaOptions(DB2JavaOptions), DB2ModelPackage.getDB2Procedure_JavaOptions(), DB2JavaOptions.getProcedure()

setJavaOptions

void setJavaOptions(DB2JavaOptions value)
Sets the value of the 'Java Options' containment reference.

Parameters:
value - the new value of the 'Java Options' containment reference.
See Also:
getJavaOptions()

getDeploy

DB2ProcedureDeploy getDeploy()
Returns the value of the 'Deploy' containment reference.

Returns:
the value of the 'Deploy' containment reference.
See Also:
setDeploy(DB2ProcedureDeploy), DB2ModelPackage.getDB2Procedure_Deploy()

setDeploy

void setDeploy(DB2ProcedureDeploy value)
Sets the value of the 'Deploy' containment reference.

Parameters:
value - the new value of the 'Deploy' containment reference.
See Also:
getDeploy()