NonStop SQL/MP Reference Manual
Table Of Contents
- What’s New in This Manual
- About This Manual
- A
- Access Options
- ADD DEFINE Command
- AGGREGATE Functions
- Alias
- ALLOCATE File Attribute
- ALTER CATALOG Statement
- ALTER COLLATION Statement
- ALTER DEFINE Command
- ALTER INDEX Statement
- ALTER PROGRAM Statement
- ALTER TABLE Statement
- ALTER VIEW Statement
- APPEND Command
- APPENDCANCEL Command
- APPENDRESTART Command
- AS Clause
- AS DATE/TIME Clause
- ASCII Character Set
- AUDIT File Attribute
- AUDITCOMPRESS File Attribute
- Audited Tables
- AVG Function
- B
- C
- CANCEL Command
- CASE Expression
- CAST Function
- CATALOG Command
- Catalogs
- CATALOGS Table
- CENTER_REPORT Option
- Character Data Types
- Character Expressions
- Character Sets
- CHAR_LENGTH Function
- CLEANUP Command
- CLEARONPURGE File Attribute
- CLOSE Statement
- Clustering Keys
- COLLATE Clause
- Collation Definitions
- Column Identifier
- Columns
- COLUMNS Table
- COMMENT Statement
- Comments
- COMMENTS Table
- COMMIT Option
- COMMIT WORK Statement
- Comparison Predicate
- COMPUTE_TIMESTAMP Function
- CONCAT Clause
- Concurrency
- Constraints
- CONSTRNT Table
- CONTINUE Statement
- CONTROL EXECUTOR Directive
- CONTROL QUERY Directive
- CONTROL TABLE Directive
- CONVERT Command
- CONVERTTIMESTAMP Function
- COPY Command
- Correlation Names
- COUNT Function
- CPRLSRCE Table
- CPRULES Table
- CREATE CATALOG Statement
- CREATE COLLATION Statement
- CREATE CONSTRAINT Statement
- CREATE INDEX Statement
- CREATE SYSTEM CATALOG Command
- CREATE TABLE Statement
- CREATE VIEW Statement
- CURRENT Function
- CURRENT_TIMESTAMP Function
- Cursors
- C89
- D
- Data Dictionary
- Data Types
- DATE Data Type
- DATE_FORMAT Option
- DATE-TIME Data Types
- DATE-TIME Functions
- DATE-TIME Literals
- DATEFORMAT Function
- DATETIME Data Type
- DAYOFWEEK Function
- DCL (Data Control Language) Statements
- DCOMPRESS File Attribute
- DDL (Data Definition Language) Statements
- Deadlocks
- DECIMAL_POINT Option
- DECLARE CURSOR Statement
- DEFAULT Clause
- DEFINEs
- DELETE DEFINE Command
- DELETE Statement
- DESCRIBE INPUT Statement
- DESCRIBE Statement
- Detail Alias
- DETAIL Command
- DISPLAY STATISTICS Command
- DISPLAY USE OF Command
- DISTINCT Clause
- DML (Data Manipulation Language) Statements
- DOWNGRADE CATALOG Command
- DOWNGRADE SYSTEM CATALOG Command
- DROP Statement
- DROP SYSTEM CATALOG Command
- DSL (Data Status Language) Statements
- DSLACK File Attribute
- DUP Command
- Dynamic SQL
- E
- F
- G
- H
- I
- ICOMPRESS File Attribute
- IF/THEN/ELSE Clause
- IN Predicate
- INCLUDE SQLCA Directive
- INCLUDE SQLDA Directive
- INCLUDE SQLSA Directive
- INCLUDE STRUCTURES Directive
- Index Keys
- INDEXES Table
- Indicator Variables and Indicator Parameters
- INFO DEFINE Command
- INITIALIZE SQL Command
- INSERT Statement
- INTERVAL Data Type
- INTERVAL Literals
- INVOKE Directive and Command
- ISLACK File Attribute
- J
- K
- L
- M
- N
- O
- P
- PAGE_COUNT Option
- PAGE FOOTING Command
- PAGE_LENGTH Option
- PAGE_NUMBER Function
- PAGE TITLE Command
- Parallel Index Loading
- Parameters
- PARTITION Clause
- Partitions
- PARTNS Table
- PERUSE Command
- Plans
- POSITION Function
- Predicates
- PREPARE Statement
- Primary Keys
- Print Item
- PROGID File Attribute
- Program Invalidation
- PROGRAMS Table
- Protection View
- PURGE Command
- PURGEDATA Command
- Q
- R
- RECLENGTH File Attribute
- RELEASE Statement
- REPORT FOOTING Command
- REPORT Option
- REPORT TITLE Command
- Report Writer
- Reserved Words
- RESET DEFINE Command
- RESET LAYOUT Command
- RESET PARAM Command
- RESET PREPARED Command
- RESET REPORT Command
- RESET SESSION Command
- RESET STYLE Command
- RESETBROKEN File Attribute
- RIGHT_MARGIN Option
- ROLLBACK WORK Statement
- ROWCOUNT Option
- S
- Sample Database
- SAVE Command
- Search Conditions
- SECURE Command
- SECURE File Attribute
- Security
- SELECT Statement
- SERIALWRITES File Attribute
- SET DEFINE Command
- SET DEFMODE Command
- SET LAYOUT Command
- SET PARAM Command
- SET SESSION Command
- SET STYLE Command
- SETSCALE Function
- Shorthand View
- SHOW CONTROL Command
- SHOW DEFINE Command
- SHOW DEFMODE Command
- SHOW LAYOUT Command
- SHOW PARAM Command
- SHOW PREPARED Command
- SHOW REPORT Command
- SHOW SESSION Command
- SHOW STYLE Command
- Similarity Checks
- SLACK File Attribute
- SPACE Option
- SQL Directive
- SQL Identifiers
- SQLCI
- SQLCI Commands
- SQLCODE
- SQLCOMP Command
- Standards Conformance
- Statements
- Static SQL
- Statistics
- Storage Management Foundation (SMF)
- String Functions
- String Literals
- Subqueries
- SUBSTRING Function
- SUBTOTAL Command
- SUBTOTAL_LABEL Option
- SUM Function
- Super ID
- Syskeys
- System Catalog
- SYSTEM Command
- System DEFINEs
- T
- U
- V
- W
- Z
- ! COMMAND
- =_AUDSERV_XSWAP_node DEFINE
- =_DEFAULTS DEFINE
- =_SORT_DEFAULTS DEFINE
- =_SQL_CAT_HEAP_LIMIT DEFINE
- =_SQL_CMP_DOUBLE_SBB_OFF DEFINE
- =_SQL_CMP_DOUBLE_SBB_ON DEFINE
- =_SQL_CMP_EQ_LIMIT DEFINE
- =_SQL_CMP_EVENT DEFINE
- =_SQL_CMP_EVENT_NO0 DEFINE
- =_SQL_CMP_NO_KS_MJOIN DEFINE
- =_SQL_cmp_node DEFINE
- =_SQL_EXE_DOUBLE_SHUTOFF DEFINE
- =_SQL_EXE_ESPS_CK_CMON DEFINE
- =_SQL_EXE_USE_SWAPVOL DEFINE
- =_SQL_MSG_node DEFINE
- =_SQL_RECGEN_node DEFINE
- =_SQL_TM_node_vol DEFINE
- Index
NonStop SQL/MP Reference Manual—142115
D-79
Summary of Dynamic SQL Statements
Summary of Dynamic SQL Statements
Determining When to Use Dynamic SQL
Dynamic SQL can be less efficient than static SQL because more work is deferred until
run time. If you do not know the whole text of an SQL statement at development time,
but there are only a few alternatives, you might want to program the alternatives into
your application.
If your application requires greater flexibility, dynamic SQL can be useful. For example,
you could use dynamic SQL if your application requires:
•
Flexibility to construct SQL statements at run time: for example, an interactive
interface that is similar to SQLCI, but is designed for an inexperienced user.
•
Restriction of access to data in a table: for example, the program might code an
UPDATE statement for certain columns in a table, but allow the user to enter any
selection criteria (WHERE clause) at run time.
•
Client-server support with deferral of definition of SQL statements until run time:
for example, when the user of an application on a personal computer wants to
manipulate data in a NonStop SQL/MP database on a host system. Such a program
cannot use SQLCI. The user formulates an SQL statement on the personal computer
and the application sends it to a server process on the NonStop system over Multilan
or another communications protocol.
If you plan to execute a dynamic SQL statement only once, you can use EXECUTE
IMMEDIATE to execute the statement, and save any memory that would have stored the
execution plan.
Features of Dynamic SQL
When you write a program that uses dynamic SQL, you use many of the same SQL
statements as you would in static SQL. You can perform most of the same operations
using dynamic SQL statements that you perform with static SQL statements. You can
use DDL, DML, and DCL statements in both modes.
The difference is that all or part of a dynamic SQL statement is obtained at run time
from the user, or generated by your program. You program stores the statement in a
DESCRIBE Returns information about output variables of prepared
statements
DESCRIBE INPUT Returns information about input parameters of prepared
statements
EXECUTE Executes a compiled statement
EXECUTE IMMEDIATE Executes an SQL statement contained in a host variable
PREPARE Compiles a DDL, DML, or DCL statement for later execution
by EXECUTE
RELEASE Deallocates memory for a dynamic SQL statement referred to
through a host variable