logo资料库

Progress Sql 语法.pdf

第1页 / 共574页
第2页 / 共574页
第3页 / 共574页
第4页 / 共574页
第5页 / 共574页
第6页 / 共574页
第7页 / 共574页
第8页 / 共574页
资料共574页,剩余部分请下载后查看
Preface
Purpose
Audience
Organization of This Manual
Typographical Conventions
Syntax Notation
How to Use This Manual
Other Useful Documentation
Getting Started
Development Tools
Database
SQL-92
Reference
SQL-92 Reference
Getting Started with SQL-92
Introduction to SQL
Review of Relational Database Components
SQL Statements
SQL-92 Language Elements
Considerations for Internationalization
Progress SQL Explorer
Starting SQL Explorer on Windows
Starting SQL Explorer in Character Mode
Connecting to a Database
Running a Single SQL-92 Statement
Running Multiple SQL-92 Statements
Saving SQL-92 Statements to a File
Running SQL-92 Statements from an Input File
Including Files Containing SQL-92 Statements into Statement History
Modifying SQL Explorer Properties
Running Windows SQL Explorer in Batch Mode
Typical Pattern of Use
Create a Table
Populate the Table
Execute Queries Against the Table
Drop the Table
Other Sources of Information
Progress Documentation
SQL Resources
SQL-92 Language Elements
Overview
Definitions of Language Elements
Language Elements and Internationalization
SQL-92 Identifiers
Conventional Identifiers
Delimited Identifiers
Data Types
Character Data Types
Exact Numeric Data Types
Approximate Numeric Data Types
Date-time Data Types
Bit String Data Types
Query Expressions
Query Specification
Set Operator
Joins
Inner Joins
Outer Joins
Search Conditions
Logical Operators: OR, AND, NOT
Relational Operators
Basic Predicate
Quantified Predicate
BETWEEN Predicate
NULL Predicate
LIKE Predicate
EXISTS Predicate
IN Predicate
OUTER JOIN Predicate
Expressions
Numeric Arithmetic Expressions
Date Arithmetic Expressions
Conditional Expressions
Literals
Numeric Literals
Character-String Literals
Date-time Literals
Date-time Format Strings
Date-format Strings
Time-format Strings
SQL-92 Statements
SQL-92 Statements
ALTER USER Statement
BEGIN-END DECLARE SECTION
CALL Statement
CLOSE Statement
Column Constraints
COMMIT Statement
CONNECT Statement
CREATE INDEX Statement
CREATE PROCEDURE Statement
CREATE SYNONYM Statement
CREATE TABLE Statement
CREATE TRIGGER Statement
CREATE USER Statement
CREATE VIEW Statement
DECLARE CURSOR Statement
DELETE Statement
DESCRIBE Statement
DESCRIBE BIND VARIABLES Statement
DESCRIBE SELECT LIST Statement
DISCONNECT Statement
DROP INDEX Statement
DROP PROCEDURE Statement
DROP SYNONYM Statement
DROP TABLE Statement
DROP TRIGGER Statement
DROP USER Statement
DROP VIEW Statement
EXEC SQL Delimiter
EXECUTE Statement
EXECUTE IMMEDIATE Statement
FETCH Statement
GET DIAGNOSTICS Statement
GET DIAGNOSTICS EXCEPTION Statement
GRANT Statement
INSERT Statement
LOCK TABLE Statement
OPEN Statement
PREPARE Statement
REVOKE Statement
ROLLBACK Statement
SELECT Statement
COLUMN_LIST Clause
FROM Clause
WHERE Clause
GROUP BY CLAUSE
HAVING CLAUSE
ORDER BY Clause
FOR UPDATE Clause
SET CONNECTION Statement
SET SCHEMA Statement
SET TRANSACTION ISOLATION LEVEL Statement
Table Constraints
UPDATE Statement
UPDATE STATISTICS Statement
WHENEVER Statement
SQL-92 Functions
SQL-92 Functions
AVG Function
COUNT Function
MAX Function
MIN Function
SUM Function
ABS Function
ACOS Function
ADD_MONTHS Function
ASCII Function
ASIN Function
ATAN Function
ATAN2 Function
CASE Function
CAST Function
CEILING Function
CHAR Function
CHR Function
COALESCE Function
CONCAT Function
CONVERT Function (ODBC Compatible)
CONVERT Function (Progress Extension)
COS Function
CURDATE Function
CURTIME Function
DATABASE Function
DAYNAME Function
DAYOFMONTH Function
DAYOFWEEK Function
DAYOFYEAR Function
DB_NAME Function
DECODE Function
DEGREES Function
EXP Function
FLOOR Function
GREATEST Function
HOUR FUNCTION
IFNULL Function
INITCAP Function
INSERT Function
INSTR Function
LAST_DAY Function
LCASE Function
LEAST Function
LEFT Function
LENGTH Function
LOCATE Function
LOG10 Function
LOWER Function
LPAD Function
LTRIM Function
MINUTE Function
MOD Function
MONTH Function
MONTHNAME Function
MONTHS_BETWEEN Function
NEXT_DAY Function
NOW Function
NULLIF Function
NVL Function
PI Function
POWER Function
PREFIX Function
PRO_* Functions
QUARTER Function
RADIANS Function
RAND Function
REPEAT Function
REPLACE Function
RIGHT Function
ROUND Function
ROWID Function
RPAD Function
RTRIM Function
SECOND Function
SIGN Function
SIN Function
SQRT Function
SUBSTR Function
SUBSTRING Function (ODBC Compatible)
SUFFIX Function
SYSDATE Function
SYSTIME Function
SYSTIMESTAMP Function
TAN Function
TO_CHAR Function
TO_DATE
TO_NUMBER Function
TO_TIME Function
TO_TIMESTAMP Function
TRANSLATE Function
UCASE Function
UPPER Function
USER Function
WEEK Function
YEAR Function
Java Stored Procedures and Triggers
Definitions of Java Stored Procedures and Triggers
Advantages of Stored Procedures
How Progress SQL-92 Interacts with Java
Creating Stored Procedures
Calling Stored Procedures
Using Stored Procedures
Stored Procedure Basics
What Is a Java Snippet?
Structure of Stored Procedures
Writing Stored Procedures
Invoking Stored Procedures
Modifying and Deleting Stored Procedures
Stored Procedure Security
Using the Progress SQL-92 Java Classes
Passing Values to SQL-92 Statements
Passing Values to and from Stored Procedures: Input and Output Parameters
Implicit Data Type Conversion Between SQL-92 and Java Types
Executing an SQL-92 Statement
Retrieving Data: the SQLCursor Class
Returning a Procedure Result Set to Applications: The RESULT Clause and DhSQLResultSet
Handling Null Values
Handling Errors
Calling Stored Procedures from Stored Procedures
INOUT and OUT Parameters When One Java Stored Procedure Calls Another
Using Triggers
Trigger Basics
Structure of Triggers
Triggers Versus Stored Procedures Versus Constraints
Typical Uses for Triggers
OLDROW and NEWROW Objects: Passing Values to Triggers
Java Class Reference
Java Class Reference
DhSQLException
DhSQLException.getDiagnostics
DhSQLResultSet
DhSQLResultSet.insert
DhSQLResultSet.makeNULL
DhSQLResultSet.set
SQLCursor
SQLCursor.close
SQLCursor.fetch
SQLCursor.found
SQLCursor.getParam
SQLCursor.getValue
SQLCursor.makeNULL
SQLCursor.open
SQLCursor.registerOutParam
SQLCursor.rowCount
SQLCursor.setParam
SQLCursor.wasNULL
SQLIStatement
SQLIStatement.execute
SQLIStatement.makeNULL
SQLIStatement.rowCount
SQLIStatement.setParam
SQLPStatement
SQLPStatement.execute
SQLPStatement.makeNULL
SQLPStatement.rowCount
SQLPStatement.setParam
Progress SQL-92 Reference Information
Progress SQL-92 Reserved Words
Progress SQL-92 System Limits
Progress SQL-92 Error Messages
Overview
Error Codes, SQLSTATE Values, and Messages
Progress SQL-92 System Catalog Tables
Overview of System Catalog Tables
SYSTABLES Core SystemTable
SYSCOLUMNS Core SystemTable
SYSINDEXES Core SystemTable
SYSCALCTABLE System Table
SYSCHARSTAT System Table
SYSCOLAUTH System Table
SYSCOLSTAT System Table
SYSCOLUMNS_FULL System Table
SYSDATATYPES System Table
SYSDATESTAT System Table
SYSDBAUTH System Table
SYSFLOATSTAT System Table
SYSIDXSTAT System Table
SYSINTSTAT System Table
SYSNUMSTAT System Table
SYSPROCBIN System Table
SYSPROCCOLUMNS System Table
SYSPROCEDURES System Table
SYSPROCTEXT System Table
SYSREALSTAT System Table
SYSSMINTSTAT System Table
SYSSYNONYMS System Table
SYSTABAUTH System Table
SYSTABLES_FULL System Table
SYSTBLSTAT System Table
SYSTIMESTAT System Table
SYSTINYINTSTAT System Table
SYSTRIGCOLS System Table
SYSTRIGGER System Table
SYSTSSTAT System Table
SYSVARCHARSTAT System Table
SYSVIEWS System Table
SYS_CHKCOL_USAGE System Table
SYS_CHK_CONSTRS System Table
SYS_KEYCOL_USAGE System Table
SYS_REF_CONSTRS System Table
SYS_TBL_CONSTRS System Table
Data Type Compatibility Issues with Previous Versions of Progress
Supported Data Types and Corresponding SQL-92 Data Types
Support for the ARRAY Data Type
Overview
PRO_ELEMENT Function
PRO_ARR_ESCAPE Function
PRO_ARR_DESCAPE Function
Unsubscripted Array References
Unsubscripted Array Updates and Inserts
Progress SQL-92 Elements and Statements in Backus Naur Form (BNF)
Data Types Syntax in BNF
DATA TYPE
Expressions Syntax in BNF
EXPRESSION (expr)
CONDITIONAL EXPRESSION
Literals Syntax in BNF
DATETIME LITERAL Syntax
Query Expressions Syntax in BNF
QUERY EXPRESSION
Search Conditions Syntax in BNF
Statements, DDL and DML Syntax in BNF
Compliance with Industry Standards
Scalar Functions
SQL-92 DDL and DML Statements
Glossary
Index
Progress SQL-92 Guide and Reference
© 2001 Progress Software Corporation. All rights reserved. Progress® software products are copyrighted and all rights are reserved by Progress Software Corporation. This manual is also copyrighted and all rights are reserved. This manual may not, in whole or in part, be copied, photocopied, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from Progress Software Corporation. The information in this manual is subject to change without notice, and Progress Software Corporation assumes no responsibility for any errors that may appear in this document. The references in this manual to specific platforms supported are subject to change. Progress, Progress Results, Provision and WebSpeed are registered trademarks of Progress Software Corporation in the United States and other countries. Apptivity, AppServer, ProVision Plus, SmartObjects, IntelliStream, and other Progress product names are trademarks of Progress Software Corporation. SonicMQ is a trademark of Sonic Software Corporation in the United States and other countries. Progress Software Corporation acknowledges the use of Raster Imaging Technology copyrighted by Snowbound Software 1993-1997 and the IBM XML Parser for Java Edition. © IBM Corporation 1998-1999. All rights reserved. U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Progress is a registered trademark of Progress Software Corporation and is used by IBM Corporation in the mark Progress/400 under license. Progress/400 AND 400® are trademarks of IBM Corporation and are used by Progress Software Corporation under license. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Any other trademarks and/or service marks contained herein are the property of their respective owners. . May 2001 Product Code: 4535 Item Number: 81104;9.1C
Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organization of This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntax Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Use This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Useful Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL-92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL-92 Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 1.4 1.5 Getting Started with SQL-92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction to SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Review of Relational Database Components . . . . . . . . . . . . . . . . . . . . . 1.2 SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 1.3.1 SQL-92 Language Elements . . . . . . . . . . . . . . . . . . . . . . . . . . Considerations for Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . Progress SQL Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting SQL Explorer on Windows . . . . . . . . . . . . . . . . . . . . . 1.5.1 1.5.2 Starting SQL Explorer in Character Mode . . . . . . . . . . . . . . . . Connecting to a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 Running a Single SQL-92 Statement . . . . . . . . . . . . . . . . . . . . 1.5.4 Running Multiple SQL-92 Statements . . . . . . . . . . . . . . . . . . . 1.5.5 1.5.6 Saving SQL-92 Statements to a File . . . . . . . . . . . . . . . . . . . . Running SQL-92 Statements from an Input File . . . . . . . . . . . 1.5.7 xvii xvii xvii xvii xix xx xxiii xxiii xxiii xxiv xxiv xxv xxv xxv 1–1 1–2 1–3 1–4 1–4 1–5 1–6 1–6 1–7 1–9 1–11 1–13 1–13 1–13
Contents 2. iv 1.5.8 Including Files Containing SQL-92 Statements into Statement History 1–14 1.5.9 Modifying SQL Explorer Properties. . . . . . . . . . . . . . . . . . . . . . 1.5.10 Running Windows SQL Explorer in Batch Mode. . . . . . . . . . . . Typical Pattern of Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Create a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Populate the Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2 Execute Queries Against the Table . . . . . . . . . . . . . . . . . . . . . 1.6.3 1.6.4 Drop the Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Progress Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.1 1.7.2 SQL Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14 1–19 1–19 1–20 1–21 1–22 1–23 1–23 1–23 1–24 1.6 1.7 2.2 2.3 SQL-92 Language Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Definitions of Language Elements . . . . . . . . . . . . . . . . . . . . . . 2.1.1 2.1.2 Language Elements and Internationalization . . . . . . . . . . . . . . SQL-92 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conventional Identifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 Delimited Identifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Character Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exact Numeric Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Approximate Numeric Data Types . . . . . . . . . . . . . . . . . . . . . . 2.3.3 2.3.4 Date-time Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Bit String Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Query Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Query Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 2.4.2 Set Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inner Joins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 2.5.2 Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1 Logical Operators: OR, AND, NOT . . . . . . . . . . . . . . . . . . . . . . Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.2 Basic Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.3 Quantified Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.4 2.6.5 BETWEEN Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NULL Predicate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.6 LIKE Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.7 EXISTS Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.8 2.6.9 IN Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.10 OUTER JOIN Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 2.4 2.5 2.6 2–1 2–2 2–2 2–2 2–3 2–3 2–4 2–6 2–6 2–8 2–10 2–10 2–11 2–14 2–15 2–19 2–24 2–24 2–27 2–30 2–30 2–31 2–32 2–33 2–33 2–34 2–34 2–35 2–36 2–36 2–37
Contents 3. 2.8 2.9 Numeric Arithmetic Expressions . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Date Arithmetic Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 2.7.3 Conditional Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.1 Numeric Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Character-String Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.2 2.8.3 Date-time Literals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Date-time Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Date-format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9.1 2.9.2 Time-format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL-92 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL-92 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALTER USER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BEGIN-END DECLARE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CALL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLOSE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Column Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMMIT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONNECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE INDEX Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE PROCEDURE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE SYNONYM Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE TABLE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE TRIGGER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE USER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE VIEW Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DECLARE CURSOR Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DELETE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DESCRIBE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DESCRIBE BIND VARIABLES Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DESCRIBE SELECT LIST Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DISCONNECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP INDEX Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP PROCEDURE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP SYNONYM Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP TABLE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP TRIGGER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP USER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP VIEW Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXEC SQL Delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXECUTE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXECUTE IMMEDIATE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FETCH Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–39 2–40 2–42 2–43 2–43 2–44 2–44 2–50 2–51 2–53 3–1 3–2 3–3 3–4 3–6 3–7 3–9 3–12 3–14 3–17 3–19 3–23 3–25 3–29 3–36 3–38 3–41 3–44 3–45 3–46 3–48 3–50 3–54 3–56 3–57 3–59 3–61 3–62 3–63 3–64 3–66 3–68 3–70 v
Contents GET DIAGNOSTICS Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–73 GET DIAGNOSTICS EXCEPTION Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–75 GRANT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–79 INSERT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–82 LOCK TABLE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–84 OPEN Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–88 PREPARE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–91 REVOKE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–94 ROLLBACK Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–97 SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–98 COLUMN_LIST Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–100 FROM Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–103 WHERE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–106 GROUP BY CLAUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–107 HAVING CLAUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–108 ORDER BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–109 FOR UPDATE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–111 SET CONNECTION Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–112 SET SCHEMA Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–114 SET TRANSACTION ISOLATION LEVEL Statement . . . . . . . . . . . . . . . . . . . . . . 3–116 Table Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–119 UPDATE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–123 UPDATE STATISTICS Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–125 WHENEVER Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–127 4. SQL-92 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL-92 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AVG Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COUNT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MAX Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SUM Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABS Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACOS Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADD_MONTHS Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASCII Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASIN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ATAN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ATAN2 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CASE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CAST Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CEILING Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 4–2 4–4 4–5 4–6 4–7 4–8 4–9 4–10 4–12 4–13 4–14 4–16 4–17 4–19 4–23 4–24 4–25 4–26 vi
Contents COALESCE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONCAT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONVERT Function (ODBC Compatible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONVERT Function (Progress Extension) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COS Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CURDATE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CURTIME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DATABASE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DAYNAME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DAYOFMONTH Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DAYOFWEEK Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DAYOFYEAR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DB_NAME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DECODE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEGREES Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FLOOR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GREATEST Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HOUR FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IFNULL Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INITCAP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INSERT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INSTR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LAST_DAY Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LCASE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LEAST Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LEFT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LENGTH Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOCATE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOG10 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOWER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LPAD Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LTRIM Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MINUTE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MOD Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MONTH Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MONTHNAME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MONTHS_BETWEEN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NEXT_DAY Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NOW Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NULLIF Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NVL Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PI Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . POWER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PREFIX Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27 4–28 4–29 4–30 4–32 4–33 4–34 4–35 4–36 4–37 4–38 4–39 4–40 4–41 4–43 4–44 4–45 4–46 4–47 4–48 4–49 4–50 4–52 4–54 4–55 4–56 4–57 4–58 4–59 4–60 4–61 4–62 4–64 4–65 4–66 4–67 4–68 4–69 4–70 4–71 4–72 4–73 4–74 4–75 4–76 vii
Contents PRO_* Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–78 QUARTER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–79 RADIANS Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–80 RAND Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–81 REPEAT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–82 REPLACE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–83 RIGHT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–84 ROUND Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–85 ROWID Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–88 RPAD Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–89 RTRIM Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–91 SECOND Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–92 SIGN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–93 SIN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–94 SQRT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–95 SUBSTR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–96 SUBSTRING Function (ODBC Compatible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–97 SUFFIX Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–98 SYSDATE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–100 SYSTIME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–101 SYSTIMESTAMP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–102 TAN Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–103 TO_CHAR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–104 TO_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–105 TO_NUMBER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–106 TO_TIME Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–107 TO_TIMESTAMP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–108 TRANSLATE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–109 UCASE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–111 UPPER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–112 USER Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–113 WEEK Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–114 YEAR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–115 5. Java Stored Procedures and Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitions of Java Stored Procedures and Triggers . . . . . . . . . . . . . . . . 5.1 Advantages of Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 5.3 How Progress SQL-92 Interacts with Java . . . . . . . . . . . . . . . . . . . . . . . Creating Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 Calling Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stored Procedure Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 5.4.2 What Is a Java Snippet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure of Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 5.4 5–1 5–2 5–2 5–3 5–3 5–5 5–6 5–7 5–8 5–9 viii
分享到:
收藏