Programmer's Manual Contents
- Mimer SQL User Interfaces
- Documentation Objectives
- Intended Audience
- Prerequisites
- Organization of this Manual
- Related Mimer SQL Publications
- Suggestions for Further Reading
- Definitions, Terms and Trademarks
- Using the ODBC Database API
- Using the JDBC Database API
- Using Embedded Mimer SQL
- The Scope of Embedded Mimer SQL
- General Principles for Embedding SQL Statements
- Processing Embedded SQL
- Essential Program Structure
- Linking Applications
- Mimer SQL Idents
- Access to the Database
- System Privileges
- Object Privileges
- Access Privileges
- About Privileges
- Connecting to a Database
- Changing Connection
- Disconnecting
- Program Idents - ENTER and LEAVE
- Host Variable Usage
- Declaring Host Variables
- Using Variables in Statements
- Indicator Variables
- The SQLSTATE Variable
- The Diagnostics Area
- The SQL Descriptor Area
- Retrieving Data Using Cursors
- General Framework
- Declaring Host Variables
- Declaring the Cursor
- Opening the Cursor
- Retrieving Data
- Closing the Cursor
- Retrieving Single Rows
- Retrieving Data from Multiple Tables
- The 'Parts explosion' Problem
- Entering Data into Tables
- Cursor-independent Operations
- Updating and Deleting Through Cursors
- Transaction Principles
- Concurrency Control
- Locking
- Transaction Control Statements
- Starting Transactions
- Ending Transactions
- Optimizing Transactions
- Consistency Within Transactions
- Exception Diagnostics Within Transactions
- Setting Default Transaction Options
- Statements in Transactions
- Cursors in Transactions
- Error Handling in Transactions
- Transactions and Logging
- Options
- Protection Against Data Loss
- System Interruptions
- Hardware Failure
- Principles of Dynamic SQL
- SQL Statements and Dynamic SQL
- General Summary of Dynamic SQL Processing
- SQL Descriptor Area
- The Structure of the SQL Descriptor Area
- Preparing Statements
- Extended Dynamic Cursors
- Describing Prepared Statements
- Describing Output Variables
- Describing Input Variables
- Handling Prepared Statements
- Executable Statements
- Result Set Statements
- Example Framework for Dynamic SQL Programs
- Example Framework
- Routines
- Functions
- Procedures
- Syntactic Components of a Routine Definition
- Routine Parameters
- Routine Language Indicator
- Routine Deterministic Clause
- Routine Access Clause
- Scope in Routines - the Compound SQL Statement
- Declaring Variables
- The ROW Data Type
- Row Value Expression
- Modules
- SQL Constructs in Routines
- Assignment Using SET
- Conditional Execution Using IF
- Conditional Execution - the CASE Statement
- Iteration Using LOOP
- Iteration Using WHILE
- Iteration Using REPEAT
- Invoking Procedures - CALL
- Invoking Functions - Use as a Value Expression
- Comments in Routines
- Restrictions
- Data Manipulation
- Write Operations
- Using Cursors
- SELECT INTO
- Transactions
- Result Set Procedures
- Managing Exception Conditions
- Declaring Condition Names
- Declaring Exception Handlers
- Access Rights
- Using DROP and REVOKE
- The Mimer SQL PSM Debugger
- Requirements
- Starting the PSM Debugger
- Logging In
- Choosing a Routine
- Specifying the Input Parameters
- Viewing the Source Code for a Routine
- Watching Variables and Input Parameters
- Setting Breakpoints
- Executing a Routine
- Creating a Trigger
- Trigger Time
- Trigger Event
- Trigger Action
- New and Old Table Aliases
- Altered Table Rows
- Recursion
- Comments on Triggers
- Using DROP and REVOKE
- Syntax Errors
- Semantic Errors
- Run-time Errors
- Testing for Run-time Errors and Exception Conditions
- Embedded SQL in C/C++ Programs
- SQL Statement Format
- Host Variables
- Preprocessor Output Format
- Scope Rules
- Embedded SQL in COBOL Programs
- SQL Statement Format
- Restrictions
- Host Variables
- Preprocessor Output Format
- Scope Rules
- Embedded SQL in FORTRAN Programs
- SQL Statement Format
- Margins
- Host Variables
- Preprocessor Output Format
- Scope Rules
- SQLSTATE Return Codes
- Internal Mimer SQL Return Codes
- Warnings and Messages
- ODBC Errors and Warnings
- Data-dependent Errors
- Limits Exceeded
- SQL Statement Errors
- Program-dependent Errors
- Databank and Table Errors
- Miscellaneous Errors
- Internal Errors
- Communication Errors
- JDBC Errors
- INCLUDE SQLCA
- SQLCODE
- SQLDA
- Parameter Marker Representation
- VARCHAR(size)
- SET TRANSACTION
- DBERM4
- EXAMPLE Program
- Building the EXAMPLE Program
- C Source Code for the EXAMPLE Program
- COBOL Source Code for the EXAMPLE Program
- FORTRAN Source Code for the EXAMPLE Program
- DSQLSAMP Program Using Dynamic SQL
- Building the DSQLSAMP Program
- Source Code for the DSQLSAMP Program in C
- FREQCALL Program Using Dynamic SQL and a Stored Procedure
- Building the FREQCALL Program
- C Source Code for the FREQCALL Program
- COBOL Source Code for the FREQCALL Program
- FORTRAN Source Code for the FREQCALL Program
- WAKECALL Program Using Dynamic SQL and a Result-set Procedure
- Building the WAKECALL Program
- C Source Code for the WAKECALL Program
- COBOL Source Code for the WAKECALL Program
- FORTRAN Source Code for the WAKECALL Program
- BLOBSAMP Program Using Dynamic SQL for Handling Binary Data
- Building the BLOBSAMP Program
- Source Code for the BLOBSAMP Program in C
- OSQLSAMP Program Using Dynamic SQL
- Building the OSQLSAMP program
- Source Code for the OSQLSAMP Program in C