-
- Weitere Informationen zu diesem Buch:
Inhaltsverzeichnis | Index | Probekapitel | Kolophon | Rezensionen |
- Weitere Informationen zu diesem Buch:
A Desktop Quick Reference
Second Edition Oktober 2004
ISBN 978-0-596-00481-1
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Index |
Probekapitel |
Kolophon |
Rezensionen |
Index
[ Symbols ] [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Y ],
Symbols[ Top ]
+ addition arithmetic operator, 23
= assignment operator, 24
& bitwise AND operator, 24
^ bitwise exclusive OR operator, 24
| bitwise OR operator, 24
/ division arithmetic operator, 23
## (double-pound symbol), 122
= equal to comparison operator, 24
> greater than operator, 24
>= greater than or equal to operator, 24
< less than operator, 24
<= less than or equal to operator, 24
% modula arithmetic operator, 23
* multiplication arithmetic operator, 23
!= not equal to operator, 24
!> not greater than operator, 24
!< not less than operator, 24
# (pound symbol), 122
- subtraction arithmetic operator, 23
+ unary operator, 25
- unary operator, 25
~ unary operator, 25
A[ Top ]
ABS function, 506
ABSTIME function (PostgreSQL), 570
ABSVAL function (DB2), 523
ACOS function
DB2, 524
MySQL, 535
Oracle, 548
PostgreSQL, 570
SQL Server, 579
ADDDATE function (MySQL), 537
addition (+) arithmetic operator, 23
ADD_MONTHS function (Oracle), 548
ADO.NET, 590
beginning transactions, 598
bound parameters, 608-611
closing connection, 597
committing transactions, 600
database connection, 593-595
database program example, 616
DataReader methods, 605
Get, 604
error handling, 614
executing statements, 601
parameter object types, 611
retrieving data, 603-605
rolling back transactions, 600
AGE function (PostgreSQL), 571
aggregate functions, 474-492
ALL operator, 25, 61-62
keywords, 61
platform differences, 62
platform support for, 61
programming tips, 62
quick reference, 59
rules, 61
SQL2003 syntax, 61
ALTER DATABASE statement (see CREATE/ALTER DATABASE statements)
ALTER DOMAIN statement, quick reference, 59
ALTER FUNCTION statement (see CREATE/ALTER FUNCTION/PROCEDURE statements)
ALTER INDEX statement (see CREATE/ALTER INDEX statements)
ALTER METHOD statement (see CREATE/ALTER METHOD statements)
ALTER PROCEDURE statement (see CREATE/ALTER FUNCTION/PROCEDURE statements)
ALTER TABLE statement (see CREATE/ALTER TABLE statements)
ALTER TRIGGER statement (see CREATE/ALTER TRIGGER statements)
ALTER TYPE statement (see CREATE/ALTER TYPE statements)
ALTER VIEW statement (see CREATE/ALTER VIEW statements)
AND operator, 25
ANSI standard, 5
AnsiString parameter object type (ADO.NET), 611
AnsiStringFixedLength parameter object type (ADO.NET), 611
ANY operator, 25, 61-62
keywords, 61
platform differences, 62
platform support for, 61
programming tips, 62
quick reference, 59
rules, 61
SQL2003 syntax, 61
APP_NAME function, 627
SQL Server, 579
AREA function (PostgreSQL), 571
arithmetic operators, 23
AS keyword and assignment operator, 24
ASCII function
DB2, 524
MySQL, 535
Oracle, 548
PostgreSQL, 571
SQL Server, 579
ASCIISTR function (Oracle), 548
ASIN function
DB2, 524
MySQL, 535
Oracle, 548
PostgreSQL, 571
SQL Server, 579
assignment (=) operator, 24
assignment operators, 23
ATAN function
DB2, 524
MySQL, 535
Oracle, 548
PostgreSQL, 571
SQL Server, 579
ATAN2 function
DB2, 524
MySQL, 535
Oracle, 549
PostgreSQL, 571
ATANH function (DB2), 524
ATN2 function (SQL Server), 580
AuthorizationID, 5
AVG function, 474, 476
B[ Top ]
BENCHMARK function (MySQL), 535
BETWEEN clause, 495
BETWEEN operator, 25, 62-64
keywords, 63
platform differences, 64
platform support for, 62
programming tips, 63
quick reference, 59
rules, 63
SQL2003 syntax, 63
BFILE datatype
Oracle, 38
platform comparison, 31
BFILENAME function (Oracle), 549
BIGINT datatype
DB2, 34
MySQL, 36
platform comparison, 31
SQL Server, 46, 621
BIGINT function (DB2), 524
BIGSERIAL datatype
platform comparison, 33
PostgreSQL, 42, 44
BIN function (MySQL), 535
BINARY datatype
platform comparison, 31
SQL Server, 46, 621
Sybase adaptive server, 621
BINARY function (MySQL), 536
Binary parameter object type (ADO.NET), 611
BINARY_CHECKSUM function, 627
SQL Server, 580
BINARY_DOUBLE datatype
Oracle, 39
platform comparison, 31
BINARY_FLOAT datatype
Oracle, 39
platform comparison, 31
BIN_TO_NUM function (Oracle), 549
BIT datatype
MySQL, 36
platform comparison, 31
PostgreSQL, 42
SQL Server, 46
BIT VARYING datatype
platform comparison, 31
PostgreSQL, 42
BIT_AND function (MySQL), 536
BITAND function (Oracle), 549
BIT_COUNT function (MySQL), 536
BIT_LENGTH function, 506
BIT_OR function (MySQL), 536
bitwise AND (&) operator, 24
bitwise exclusive OR (^) operator, 24
bitwise operators, 23
bitwise OR (|) operator, 24
BLOB datatype
DB2, 34
MySQL, 36
Oracle, 39
platform comparison, 31
BLOB function (DB2), 524
BOOL datatype
MySQL, 36
platform comparison, 31
PostgreSQL, 42
Boolean comparison operators, 24
BOOLEAN datatype
platform comparison, 31
PostgreSQL, 42
Boolean parameter object type (ADO.NET), 611
bound parameters, 608-614
ADO.NET, 608-611
JDBC, 611-614
BOX datatype
platform comparison, 31
PostgreSQL, 42
BOX function (PostgreSQL), 571
BROADCAST function (PostgreSQL), 572
built-in scalar functions, 501
BULKADMIN (SQL Server system role), 311
Byte parameter object type (ADO.NET), 611
BYTEA datatype
platform comparison, 31
PostgreSQL, 42
C[ Top ]
CALL statement, 64-66
DB2, 65
keywords, 64
MySQL, 65
Oracle, 65
platform support for, 64
programming tips, 65
quick reference, 59
rules, 64
SQL Server, 66
SQL2003 syntax, 64
versus EXECUTE statement, 65
candidate key, 54
CARDINALITY function (Oracle), 549
CASE function, 503
CAST function, 505, 627
catalogs, 4
CBRT function (PostgreSQL), 572
CEIL function, 507
CENTER function (PostgreSQL), 572
Chaos isolation level (Transaction object (ADO.NET)), 598
CHAR( ) datatype
SQL Server, 621
Sybase adaptive server, 621
CHAR datatype
DB2, 34
MySQL, 36
Oracle, 39
platform comparison, 31
PostgreSQL, 42
SQL Server, 46
CHAR FOR BIT DATA datatype
DB2, 34
platform comparison, 31
CHAR function
DB2, 524
MySQL, 536
PostgreSQL, 572
SQL Server, 580
CHAR VARYING datatype
DB2, 35
Oracle, 41
platform comparison, 33
SQL Server, 48
CHARACTER datatype
DB2, 34
MySQL, 36
Oracle, 39
platform comparison, 31
PostgreSQL, 42
SQL Server, 46
character sets, 5
character string literals, 22
CHARACTER VARYING datatype
DB2, 35
Oracle, 41
platform comparison, 33
PostgreSQL, 45
SQL Server, 48
CHARINDEX function (SQL Server), 580
CHAR_LENGTH function, 506, 627
PostgreSQL, 572
CHARTOROWID function (Oracle), 549
CHECK constraints, 55
CHECKSUM function, 627
SQL Server, 580
CHECKSUM_AGG function, 627
SQL Server, 580
CHR function
DB2, 524
Oracle, 549
CIDR datatype
platform comparison, 31
PostgreSQL, 42
CIRCLE datatype
platform comparison, 31
PostgreSQL, 42
CIRCLE function (PostgreSQL), 572
CLOB datatype
DB2, 34
Oracle, 39
platform comparison, 31
CLOB function (DB2), 525
CLOSE CURSOR statement, 66-68
DB2, 67
keywords, 66
platform support for, 66
PostgreSQL, 67
programming tips, 67
quick reference, 59
rules, 67
SQL Server, 67
SQL2003 syntax, 66
clusters, 4
COALESCE function, 627
DB2, 525
MySQL, 536
Oracle, 549
PostgreSQL, 572
SQL Server, 580
Codd, E. F., 2
collations, 5
COLLECT function (Oracle), 549
COL_LENGTH function (SQL Server), 580
COL_NAME function (SQL Server), 580
column_constraint_clause (Oracle), 174
column-level constraints, 49
columns, 4
COMMIT statement, 68-71
DB2, 70
keywords, 68
MySQL, 70
Oracle, 70
platform support for, 68
PostgreSQL, 70
programming tips, 69
quick reference, 59
rules, 69
SQL Server, 70
SQL2003 syntax, 68
COMMIT TO SWITCHOVER TO, 87
COMPARE function, 627
comparison operators, 23, 24
COMPOSE function (Oracle), 549
COMPRESS function (MySQL), 536
compressed tables in Oracle, 183
CONCAT function
DB2, 525
Oracle, 549
concatenation operator, 517
CONCAT_WS function (MySQL), 536
CONNECT statement, 71-74
DB2, 72
keywords, 71
Oracle, 73
platform support for, 71
PostgreSQL, 73
programming tips, 72
quick reference, 59
rules, 72
SQL Server, 73
SQL2003 syntax, 71
CONNECTION_ID( ) function (MySQL), 536
connections (database)
closing, 597
opening, 593-597
ADO.NET, 593-595
JDBC, 595-597
connectivity, establishing, 592
constraints, 49-56
CHECK, 55
FOREIGN KEY, 51-54
PRIMARY KEY, 50
scope, 49
syntax, 49
UNIQUE, 54
CONTAINS function, 628
SQL Server, 580
CONTAINSTABLE function, 628
SQL Server, 581
CONV function (MySQL), 536
CONVERT, 227
CONVERT function, 518
Oracle, 549
SQL Server, 581
CORR function, 474, 476
correlated subqueries, 448
correlated subquery in WHERE/HAVING clause, 450
CORR_K function (Oracle), 550
COS function
DB2, 525
MySQL, 536
Oracle, 550
PostgreSQL, 572
SQL Server, 581
COSH function
DB2, 525
Oracle, 550
COT function
DB2, 525
MySQL, 537
PostgreSQL, 550, 572
SQL Server, 581
COUNT function, 474, 477
COUNT_BIG function, 628
COVAR_POP function, 474, 478
COVAR_SAMP function, 474, 479
CREATE/ALTER DATABASE statements, 74-103
DB2 (see DB2, CREATE/ALTER DATABASE statements)
MySQL, 79
Oracle (see Oracle, CREATE/ALTER DATABASE statements)
platform support for, 74
PostgreSQL, 94-95
programming tips, 75
quick reference, 59
rules, 74
SQL Server (see SQL Server, CREATE/ALTER DATABASE statements)
CREATE/ALTER DOMAIN statements, quick reference, 59
CREATE/ALTER FUNCTION/PROCEDURE statements, 103-125
DB2 (see DB2, CREATE/ALTER FUNCTION/PROCEDURE statements)
keywords, 104-106
CALL ON NULL INPUT, 105
CASCADE, 106
code_block, 105
CONTAINS SQL, 105
CREATE, 104
DETERMINISTIC, 105
DYNAMIC RESULT SETS, 105
IN, 104
LANGUAGE, 104
MODIFIES SQL DATA, 105
NAME, 106
NO SQL, 105
OUT, 104
PARAMETER STYLE, 104
READS SQL DATA, 105
RESTRICT, 106
RETURN NULL ON NULL INPUT, 105
RETURNS, 104
SPECIFIC, 105
STATIC DISPATCH, 105
MySQL, 116
Oracle (see Oracle, CREATE/ALTER FUNCTION/PROCEDURE statements)
platform support for, 103
PostgreSQL, 119
programming tips, 107
quick reference, 59
rules, 106
SQL Server (see SQL Server, CREATE/ALTER FUNCTION/PROCEDURE statements)
SQL2003 syntax, 103
CREATE/ALTER INDEX statements, 125-140
common vendor syntax, 125
DB2 (see DB2, CREATE/ALTER INDEX statements)
keywords, 126
MySQL, 129
Oracle (see Oracle, CREATE/ALTER INDEX statements)
platform support for, 125
PostgreSQL, 137
programming tips, 127
quick reference, 59
rules, 126
SQL Server (see SQL Server, CREATE/ALTER INDEX statements)
CREATE/ALTER METHOD statements, 140-144
DB2, 142
keywords, 141
MySQL, 143
Oracle, 143
platform support for, 140
PostgreSQL, 143
programming tips, 142
quick reference, 59
rules, 142
SQL Server, 144
SQL2003 syntax, 141
CREATE/ALTER ROLE statements, 144-147
DB2, 145
keywords, 144
MySQL, 145
Oracle, 145
platform support for, 144
PostgreSQL, 146
programming tips, 145
quick reference, 59
rules, 144
SQL Server, 147
SQL2003 syntax, 144
CREATE/ALTER SCHEMA statements, 147-150
DB2, 148
keywords, 147
MySQL, 149
Oracle, 149
platform support for, 147
PostgreSQL, 149
programming tips, 148
quick reference, 59
rules, 148
SQL Server, 149
SQL2003 syntax, 147
CREATE/ALTER TABLE statements, 150-204
DB2 (see DB2, CREATE/ALTER TABLE statements)
keywords, 151-153
ADD, 153
ALTER, 153
CASCADE, 153
column_name, 152
CONSTRAINT, 152
DROP COLUMN, 153
DROP CONSTRAINT, 153
GLOBAL TEMPORARY, 151
LIKE, 152
LOCAL TEMPORARY, 151
OF, 153
ON COMMIT, 153
REF IS, 152
RESTRICT, 153
MySQL (see MySQL, CREATE/ALTER TABLE statements)
Oracle (see Oracle, CREATE/ALTER TABLE statements)
platform support for, 150
PostgreSQL (see PostgreSQL, CREATE/ALTER TABLE statements)
programming tips, 156
quick reference, 59
rules, 154-155
SQL Server (see SQL Server, CREATE/ALTER TABLE statements)
SQL2003 syntax, 150
CREATE/ALTER TRIGGER statements, 204-216
DB2, 208
keywords, 205
MySQL, 209
Oracle (see Oracle, CREATE/ALTER TRIGGER statements)
platform support for, 204
PostgreSQL, 212
programming tips, 207
quick reference, 59
rules, 206
SQL Server (SQL Server, CREATE/ALTER TRIGGER statements)
SQL2003 syntax, 204
CREATE/ALTER TYPE statements, 216-230
DB2 (see DB2, CREATE/ALTER TYPE statements)
keywords, 217
MySQL, 222
Oracle (see Oracle, CREATE/ALTER TYPE statements)
platform support for, 216
PostgreSQL (see PostgreSQL, CREATE/ALTER TYPE statements)
programming tips, 219
quick reference, 59
rules, 219
SQL Server, 230
SQL2003 syntax, 217
CREATE/ALTER VIEW statements, 230-242
DB2 (see DB2, CREATE/ALTER VIEW statements)
keywords, 231
MySQL, 237
Oracle (see Oracle, CREATE/ALTER VIEW statements)
platform support for, 230
PostgreSQL, 240
programming tips, 234
quick reference, 59
rules, 232
SQL Server, 240
SQL2003 syntax, 231
CROSS JOIN, 334
CUME_DIST function, 475, 479, 497
CURDATE( ) function (MySQL), 537
Currency parameter object type (ADO.NET), 611
CURSOR datatype
platform comparison, 32
SQL Server, 46
cursors (see CLOSE CURSOR statement; DECLARE CURSOR command)
CURTIME( ) function (MySQL), 537
CV function (Oracle), 550
D[ Top ]
data
retrieving, 603-608
ADO.NET, 603-605
JDBC, 605-608
Data Control Language (DCL), 13
Data Definition Language (DDL), 13
Data Manipulation Language (DML), 13
data structures, 3-5
DATABASE( ) function (MySQL), 537
database objects and operators, 17, 23
database programming (see programming databases)
DATABASEPROPERTYEX function, 628
SQL Server, 581
DATALENGTH function (SQL Server), 581
DATALINK datatype
DB2, 34
platform comparison, 32
DataReader methods (ADO.NET), 605
Get, 604
datatypes, 5
DB2, 34-35
MySQL, 35-38
Oracle, 38-41
PostgreSQL, 41-45
SQL Server, 45-48
Sybase adaptive server, 621
DATE datatype
DB2, 34
MySQL, 36
Oracle, 39
platform comparison, 32
PostgreSQL, 42
DATE_ FORMAT function (MySQL), 537
DATE function (DB2), 525
DATE_ADD function (MySQL), 537
DATEADD function (SQL Server), 581
DATEDIFF function (SQL Server), 581
DATENAME function (SQL Server), 581
DATE_PART function (PostgreSQL), 572
DATEPART function (SQL Server), 581
DATE_SUB function (MySQL), 537
DATETIME datatype
MySQL, 36
platform comparison, 32
PostgreSQL, 42
SQL Server, 46, 621
Sybase adaptive server, 621
DateTime parameter object type (ADO.NET), 611
DATE_TRUNC function (PostgreSQL), 572
DAY function, 628
DB2, 525
SQL Server, 581
DAYNAME function
DB2, 525
MySQL, 539
DAYOFMONTH function (MySQL), 539
DAYOFWEEK function
DB2, 525
MySQL, 539
DAYOFWEEK_ISO function (DB2), 525
DAYOFYEAR function
DB2, 525
MySQL, 539
DAYS function (DB2), 526
DB2, 16
allowed characters in identifiers, 20
beginning identifier character, 20
CALL statement, 65
CLOSE CURSOR statement, 67
COMMIT statement, 70
CONNECT statement, 72
connecting using JDBC, 596
CREATE/ALTER DATABASE statements, 75-78
ALIAS, 75
APPLY, 77
AT DBPARITIONNUM, 75
AUTOCONFIGURE, 76
CATALOG TABLESPACE, 76
COLLATE USING, 75
CREATE {DATABASE | DB}, 75
DFT_EXTENT_SZ, 76
EXTENTSIZE, 78
MANAGED BY, 78
NUMSEGS, 76
ON, 75
OVERHEAD, 78
PREFETCHSIZE, 78
tablespace_definition, 77
TEMPORARY TABLESPACE, 76
TRANSFERRATE, 78
USER TABLESPACE, 76
USING CODESET, 75
WITH, 76
CREATE/ALTER FUNCTION/PROCEDURE statements, 108-116
CARDINALITY, 111
CONTAINS SQL, 110
DBINFO, 111
EXTERNAL NAME, 109
FENCED, 110
FINAL CALL, 110
INHERIT SPECIAL REGISTERS, 110
LANGUAGE, 109
MODIFIES SQL DATA, 110
NO SQL, 110
PARALLEL, 110
PARAMETER STYLE, 109
PREDICATES, 111
PROGRAM TYPE, 110
READS SQL DATA, 110
RETURNS, 109
SCRATCHPAD, 110
THREADSAFE, 110
TRANSFORM GROUP, 111
CREATE/ALTER INDEX statements, 127-129
ALLOW REVERSE SCANS, 129
ASC, 128
CLUSTER, 128
COLLECT STATISTICS, 129
DESC, 128
EXTEND USING, 128
INCLUDE, 128
MINPCTUSED, 128
PCTFREE, 128
SPECIFICATION ONLY, 128
CREATE/ALTER METHOD statements, 142
CREATE/ALTER ROLE statements, 145
CREATE/ALTER SCHEMA statements, 148
CREATE/ALTER TABLE statements, 156-165
ACTIVATE NOT LOGGED INITIALLY, 161
ACTIVATE VALUE COMPRESSION, 161
ADD, 160
ALTER {CHECK | FOREIGN KEY}, 160
ALTER [COLUMN], 160
APPEND, 161
AS, 163
AS IDENTITY, 164
COMPACT, 162
COMPRESS SYSTEM DEFAULT, 163
copy_options, 158
DATA CAPTURE, 159, 160
DEFINITION ONLY, 158
derived_table_options, 157
DROP, 160
FILE LINK CONTROL, 162
GENERATED, 163
IN, 159
intermediate table, defining, 158
LIKE, 158
LINKTYPE URL, 162
LOCKSIZE, 161
LOGGED, 162
MODE DB2OPTIONS, 163
NLINE LENGTH, 163
NO LINK CONTROL, 162
NOT LOGGED INITIALLY, 159
OPTIONS, 159
ORGANIZE BY, 158
PARTITIONING KEY, 159
PCTFREE, 161
REPLICATED, 159
SCOPE, 163
SET MATERIALIZED QUERY, 161
UNDER, 157
VALUE COMPRESSION, 159
VOLATILE, 161
WITH RESTRICT ON DROP, 159
CREATE/ALTER TRIGGER statements, 208
CREATE/ALTER TYPE statements, 219-222
ADD METHOD, 220
ALTER METHOD, 220
DISTINCT, 220
DROP METHOD, 220
FENCED, 220
INLINE LENGTH, 220
METHOD, 220
MODE DB2SQL, 220
OVERRIDING, 220
RESTRICT, 221
THREADSAFE, 220
WITH COMPARISONS, 220
WITHOUT COMPARISONS, 220
CREATE/ALTER VIEW statements, 234-237
WITH CHECK OPTION clause, 237
datalink-related attributes, 162
datatypes, 34-35
DECLARE CURSOR command, 246
DELETE statement, 254
DISCONNECT statement, 261
DROP statements, 263-266
BUFFERPOOL, 264
DATABASE PARTITION GROUP, 264
[DISTINCT] TYPE, 266
EVENT MONITOR, 264
FUNCTION MAPPING, 264
INDEX, 264
NICKNAME, 264
PACKAGE, 265
RESTRICT, 266
SCHEMA, 265
SEQUENCE, 265
SERVER, 265
[SPECIFIC] FUNCTION, 264
[SPECIFIC] METHOD, 264
TABLE, 265
TABLESPACE, 265
TRANSFORM, 265
TRIGGER, 265
TYPE MAPPING, 266
USER MAPPING FOR, 266
VIEW, 266
WRAPPER, 266
EXCEPT set operator, 279
external scalar user-defined functions, 111
external stored procedure, 114
external table user-defined functions, 112
FETCH statement, 286
functions, 523-535
ABSVAL, 523
ACOS, 524
ASCII, 524
ASIN, 524
ATAN, 524
ATAN2, 524
ATANH, 524
BIGINT, 524
BLOB, 524
CHAR, 524
CHR, 524
CLOB, 525
COALESCE, 525
CONCAT, 525
COS, 525
COSH, 525
COT, 525
DATE, 525
DAY, 525
DAYNAME, 525
DAYOFWEEK, 525
DAYOFWEEK_ISO, 525
DAYOFYEAR, 525
DAYS, 526
DBCLOB, 526
DBPARTITIONNUM, 526
DEC, 526
DECIMAL, 526
DECRYPT_BIN, 526
DECRYPT_CHAR, 526
DEGREES, 526
DEREF, 526
DIFFERENCE, 526
DIGITS, 526
DOUBLE, 526
ENCRYPT, 526
EVENT_MON_STATE, 527
FLOAT, 527
GENERATE_UNIQUE( ), 527
GETHINT, 527
GRAPHIC, 527
HASHEDVALUE, 527
HEX, 527
HOUR, 527
IDENTITY_VAL_LOCAL( ), 527
INSERT, 528
INTEGER, 528
JULIAN_DAY, 528
LEFT, 528
LENGTH, 528
LOCATE, 528
LOG, 528
LOG10, 528
LONG_VARCHAR, 528
LONG_VARGRAPHIC, 528
LTRIM, 528
MICROSECOND, 528
MIDNIGHT_SECONDS, 528
MINUTE, 529
MONTH, 529
MONTHNAME, 529
MULTIPLY_ALT, 529
NULLIF, 529
POSSTR, 529
QUARTER, 529
RADIANS, 529
RAISE_ERROR, 529
RAND, 530
REAL, 530
REC2XML, 530
REPEAT, 530
REPLACE, 530
RIGHT, 531
ROUND, 531
RTRIM, 531
SECOND, 531
SIGN, 531
SIN, 531
SINH, 531
SMALLINT, 531
SOUNDEX, 531
SPACE, 531
STDDEV, 531
SUBSTR, 532
TABLE_NAME, 532
TABLE_SCHEMA, 532
TAN, 532
TANH, 532
TIME, 532
TIMESTAMP, 532
TIMESTAMPDIFF, 533
TIMESTAMP_FORMAT, 532
TIMESTAMP_ISO, 532
TO_CHAR, 533
TO_DATE, 533
TRANSLATE, 533
TRUNC, 533
TRUNCATE, 533
TYPE_ID, 533
TYPE_NAME, 533
TYPE_SCHEMA, 534
VALUE, 534
VAR, 534
VARCHAR, 534
VARCHAR_FORMAT, 534
VARGRAPHIC, 534
VARIANCE, 534
WEEK, 535
WEEK_ISO, 535
YEAR, 535
GRANT statement, 293-297
{ALTER | USAGE} ON SEQUENCE, 295
{ALTERIN | CREATEIN | DROPIN} ON SCHEMA, 295
{BIND | CONTROL | EXECUTE} ON PACKAGE, 294
CONTROL ON INDEX, 294
database_privileges, 293
EXECUTE ON, 295
object_privilege, 296
PASSTHRU ON SERVER, 295
TO USER, 297
USE OF TABLESPACE, 297
WITH GRANT OPTION, 297
identifier size, 20
INSERT statement, 318
INTERSECT set operator, 328
JOIN subclause, 337
keywords, 637
LDAP, 78
LIKE operator, 341
MERGE statement, 345
OLE-DB external table user-defined functions, 112
OPEN statement, 348
ORDER BY clause, 351
RELEASE SAVEPOINT statement, 355
reserved identifiers, 21
RETURN statement, 356
REVOKE statement, 362-366
{ ALTERIN | CREATEIN | DROPIN } ON SCHEMA, 363
{ BIND | CONTROL | EXECUTE} ON PACKAGE, 363
{ALTER | USAGE} ON SEQUENCE, 365
CONTROL ON INDEX, 363
database_privileges, 362
EXECUTE ON, 364
FROM, 365
levels of system privileges, 366
object_privilege, 364
PASSTHRU ON SERVER, 363
RESTRICT, 365
USE OF TABLESPACE, 365
ROLLBACK statement, 375
SAVEPOINT statement, 379
schema addressing, 21
SELECT statement, 396-397
SET CONNECTION statement, 427
SET CONSTRAINT statement, 429
SET PATH statement, 430
SET ROLE statement, 432
SET SCHEMA statement, 434
SET SESSION AUTHORIZATION statement, 435
SET statement, 423
SET TIME ZONE statement, 437
SET TRANSACTION statement, 440
sourced user-defined functions, 113
SQL stored procedure, 115
SQL user-defined functions, 113
START TRANSACTION statement, 445
SUBQUERY substatement, 452
TRUNCATE TABLE statement, 454
UNION set operator, 456
UPDATE statement, 462-463
web site, xi
WHERE clause, 472
window syntax, 493
DB2 keywords, 637
DB_ACCESSADMIN (SQL Server system role), 312
DB_BACKUPOPERATOR (SQL Server system role), 312
DBCLOB datatype
DB2, 34
platform comparison, 32
DBCLOB function (DB2), 526
DBCREATOR (SQL Server system role), 311
DB_DATAREADER (SQL Server system role), 312
DB_DATAWRITER (SQL Server system role), 312
DB_DDLADMIN (SQL Server system role), 312
DB_DENYDATAREADER (SQL Server system role), 312
DB_DENYDATAWRITER (SQL Server system role), 312
DB_ID function (SQL Server), 582
DB_NAME function (SQL Server), 582
DB_OWNER (SQL Server system role), 312
DBPARTITIONNUM function (DB2), 526
DB_SECURITYADMIN (SQL Server system role), 312
DBTIMEZONE function (Oracle), 550
DEC datatype
DB2, 34
platform comparison, 32
SQL Server, 46
DEC function (DB2), 526
DECIMAL datatype
DB2, 34
MySQL, 37
Oracle, 39
platform comparison, 32
PostgreSQL, 43, 44
SQL Server, 46
DECIMAL function (DB2), 526
Decimal parameter object type (ADO.NET), 611
declarative processing, 7
DECLARE CURSOR command, 243-252
DB2, 246
keywords, 243
MySQL, 247
Oracle, 248
platform support for, 243
PostgreSQL, 248
programming tips, 246
quick reference, 59
rules, 244-246
SQL Server, 249-252
SQL2003 syntax, 243
DECODE function
MySQL, 539
Oracle, 550
DECOMPOSE function (Oracle), 550
DECRYPT_BIN function (DB2), 526
DECRYPT_CHAR function (DB2), 526
DEGREES function
DB2, 526
MySQL, 539
PostgreSQL, 572
SQL Server, 582
DELETE statement, 252-260
DB2, 254
keywords, 253
MySQL, 255-256
operators and, 17, 23
Oracle, 256-258
platform support for, 252
PostgreSQL, 258
programming tips, 254
quick reference, 59
rules, 253
SQL Server, 258-260
SQL2003 syntax, 253
delimited identifiers, 19
delimiters, 26
DENSE_RANK function, 475, 481, 498
DEPTH function (Oracle), 551
DEREF function
DB2, 526
Oracle, 551
deterministic functions, 473
dialects, SQL, 14
DIAMETER function (PostgreSQL), 572
DIFFERENCE function
DB2, 526
SQL Server, 582
DIGITS function (DB2), 526
DISCONNECT statement, 260-261
DB2, 261
keywords, 260
MySQL, 261
Oracle, 261
platform support for, 260
PostgreSQL, 261
programming tips, 261
quick reference, 59
rules, 260
SQL Server, 261
SQL2003 syntax, 260
DISKADMIN (SQL Server system role), 311
division (/) arithmetic operator, 23
DOUBLE datatype
DB2, 34
MySQL, 37
platform comparison, 32
DOUBLE function (DB2), 526
Double parameter object type (ADO.NET), 611
DOUBLE PRECISION datatype
DB2, 34
MySQL, 37
Oracle, 39
platform comparison, 32
PostgreSQL, 43
SQL Server, 46
double-pound symbol (##), 122
DROP DATABASE statement, quick reference, 59
DROP DOMAIN statement, quick reference, 59
DROP FUNCTION statement, quick reference, 59
DROP INDEX statement, quick reference, 59
DROP METHOD statement, quick reference, 59
DROP ROLE statement, quick reference, 60
DROP statements, 261-276
DB2, 263-266
keywords, 262
MySQL, 266
Oracle, 267-272
platform support for, 261
PostgreSQL, 272-274
programming tips, 263
quick reference, 60
rules, 262
SQL Server, 274-276
SQL2003 syntax, 262
DROP TABLE statement, quick reference, 60
DROP TRIGGER statement, quick reference, 60
DROP TYPE statement, quick reference, 60
DROP VIEW statement, quick reference, 60
DUMP function (Oracle), 551
E[ Top ]
ELT function (MySQL), 539
EMPTY_BLOB( ) function (Oracle), 551
EMPTY_CLOB( ) function (Oracle), 551
ENCODE function (MySQL), 539
ENCRYPT function
DB2, 526
MySQL, 540
ENUM datatype
MySQL, 37
platform comparison, 32
equal to (=) comparison operator, 24
error handling, 614-616
ADO.NET, 614
JDBC, 615
EVENT_MON_STATE function (DB2), 527
EXCEPT set operator, 277-281
DB2, 279
keywords, 277
MySQL, 279
Oracle, 279
platform support for, 277
PostgreSQL, 280
programming tips, 278
quick reference, 60
rules, 278
SQL Server, 281
SQL2003 syntax, 277
EXECUTE statement versus CALL statement, 65
EXISTS operator, 25, 281-283
platform differences, 283
platform support for, 281
programming tips, 282
quick reference, 60
rules, 282
SQL2003 syntax, 281
EXISTSNODE function (Oracle), 551
EXP function, 508
explicit transactions, 69
EXPORT_SET function (MySQL), 540
expressions
operator precedence and, 26
testing against range of values, 63
EXTRACT function, 509
Oracle, 551
EXTRACTVALUE function (Oracle), 551
F[ Top ]
FETCH statement, 283-290
DB2, 286
keywords, 283
MySQL, 286
Oracle, 286
platform support for, 283
PostgreSQL, 288
programming tips, 285
quick reference, 60
rules, 284
SQL Server, 289
SQL2003 syntax, 283
FIELD function (MySQL), 540
FILEGROUP_ID function, 628
SQL Server, 582
FILEGROUP_NAME function, 628
SQL Server, 582
FILEGROUPPROPERTY function, 628
SQL Server, 582
FILE_ID function, 628
SQL Server, 582
FILE_NAME function, 628
SQL Server, 582
FILEPROPERTY function, 628
SQL Server, 582
filtering checks, 62
FIND_IN_SET function (MySQL), 540
FIRST function (Oracle), 551
FIRST_VALUE function (Oracle), 552
FLOAT datatype
DB2, 34
MySQL, 37
Oracle, 39
platform comparison, 32
SQL Server, 46, 47
FLOAT function
DB2, 527
PostgreSQL, 573
FLOAT4 datatype
platform comparison, 32
PostgreSQL, 43
FLOAT4 function (PostgreSQL), 573
FLOAT8 datatype
platform comparison, 32
PostgreSQL, 43
FLOOR function, 512
FOREIGN KEY constraints, 51-54
CASCADE keyword, 53
FOREIGN KEY keyword, 52
MATCH keyword, 52
NO ACTION keyword, 53
ON DELETE keyword, 53
ON UPDATE keyword, 52
REFERENCES keyword, 52
RESTRICT keyword, 53
SET DEFAULT keyword, 53
SET NULL keyword, 53
FORMAT function (MySQL), 540
FORMATMESSAGE function, 628
SQL Server, 582
freeing resources, 593
FREETEXT function (SQL Server), 583
FREETEXTTABLE function, 628
SQL Server, 583
FROM clause, 10
FROM_DAYS function (MySQL), 540
FROM_TZ function (Oracle), 552
FROM_UNIXTIME function (MySQL), 540
FULL [OUTER] JOIN, 336
FULLTEXTCATALOGPROPERTY function, 628
SQL Server, 582
FULLTEXTSERVICEPROPERTY function, 628
SQL Server, 582
functions, 473-589
ABS, 506
aggregate, 474-492
APP_NAME( ), 627
AVG, 474, 476
BINARY_CHECKSUM, 627
BIT_LENGTH, 506
CASE, 503
CAST, 505, 627
CEIL, 507
CHAR_LENGTH, 506, 627
CHECKSUM, 627
CHECKSUM_AGG, 627
COALESCE, 627
COMPARE, 627
CONTAINS, 628
CONTAINSTABLE, 628
CONVERT, 518
CORR, 474, 476
COUNT, 474, 477
COUNT_BIG, 628
COVAR_POP, 474, 478
COVAR_SAMP, 474, 479
CUME_DIST, 475, 479
CUME_DIST( ), 497
DATABASEPROPERTYEX, 628
DAY, 628
DB2 supported (see DB2, functions)
DENSE_RANK, 475, 481
DENSE_RANK( ), 498
deterministic, 473
EXP, 508
EXTRACT, 509
FILEGROUP_ID, 628
FILEGROUP_NAME, 628
FILEGROUPPROPERTY, 628
FILE_ID, 628
FILE_NAME, 628
FILEPROPERTY, 628
FLOOR, 512
FORMATMESSAGE, 628
FREETEXTTABLE, 628
FULLTEXTCATALOGPROPERTY, 628
FULLTEXTSERVICEPROPERTY, 628
GETANSINULL, 628
GETUTCDATE( ), 628
GROUPING, 628
HEXTOINT, 629
IDENT_CURRENT, 629
IDENT_INCR, 629
IDENTITY, 629
IDENT_SEED, 629
INDEXPROPERTY, 629
INTTOHEX, 629
ISDATE, 629
IS_MEMBER, 629
ISNUMERIC, 629
IS_SEC_SERVICE_ON, 629
IS_SRVROLEMEMBER, 629
lct_admin, 629
LEFT, 629
LEN, 629
LICENSE_ENABLED, 630
LN, 512
LOWER, 520
MAX, 475, 482
MIN, 475, 482
MOD, 513
MONTH, 630
MUT_EXCL_ROLES, 630
MySQL supported (see MySQL, functions)
NCHAR, 630
NEWID( ), 630
nondeterministic, 473
NULLIF, 630
numeric, 505-516
OBJECTPROPERTY, 630
OCTET_LENGTH, 506
OPEN, 630
OPENDATASOURCE, 630
OPENQUERY, 630
OPENROWSET, 630
operators and, 17, 23
Oracle supported (see Oracle, functions)
OVERLAY, 520
PARSENAME, 630
PATINDEX, 630
PERCENTILE_CONT, 475, 484
PERCENTILE_DISC, 475, 485
PERCENT_RANK, 475, 483, 499
PERMISSIONS, 630
POSITION, 513
PostgreSQL (see PostgreSQL, functions)
POWER, 514
PROC_ROLE, 630
RANK, 475, 486
RANK( ), 498
REGR_AVGX, 475, 487
REGR_AVGY, 475, 487
REGR_COUNT, 475, 487
REGR_INTERCEPT, 475, 487
REGR_R2, 475, 487
REGR_SLOPE, 475, 487
REGR_SXX, 475, 487
REGR_SXY, 475, 487
REGR_SYY, 475, 487
REPLACE, 630
ROLE_CONTAIN, 630
ROLE_ID, 631
ROLE_NAME, 631
ROWCNT, 631
ROWCOUNT_BIG( ), 631
ROW_NUMBER, 500
scalar, 474, 501-523
built-in, 501
categories of, 501
SESSION_USER, 631
SHOW_ROLE( ), 631
SHOW_SEC_SERVICES( ), 631
SORTKEY, 631
SQL Server supported (see SQL Server, functions)
SQL2003 numeric, 505-516
SQRT, 515
STATS_DATE, 631
STDDEV_POP, 475, 488
STDDEV_SAMP, 475, 489
STDEV, 631
STDEVP, 631
string, 516-523
SUBSTRING, 521
SUM, 475, 476
SUSER_ID, 631
SUSER_NAME, 632
SUSER_SID, 631
SUSER_SNAME, 632
Sybase adaptive server versus SQL Server, 627-632
Sybase adaptive server-supported, 627
SYB_SENDMSG, 632
SYSTEM_USER, 632
TO_UNICHAR, 632
TRANSLATE, 518
TRIM, 522
TSEQUEL, 632
TYPEPROPERTY, 632
types of, 473
UHIGHSURR, 632
ULOWSURR, 632
UNICODE, 632
UPPER, 520
USCALAR, 632
VALID_NAME, 632
VALID_USER, 632
VAR, 632
VARP, 632
VAR_POP, 475, 490
VAR_SAMP, 475, 491
WIDTH_BUCKET, 515
window, 474, 492-501
windowing, 10
YEAR, 632
G[ Top ]
GENERATE_UNIQUE( ) function (DB2), 527
GET DIAGNOSTIC statement, 65
Get methods (ADO.NET DataReader), 604
Get methods (JDBC ResultSet), 607
GETANSINULL function, 628
SQL Server, 583
GETDATE( ) function (SQL Server), 583
GETHINT function (DB2), 527
GET_LOCK function (MySQL), 541
GETUTCDATE( ) function, 628
GETUTCDATE( ) function
SQL Server, 583
GRANT statement, 290-313
DB2, 293-297
keywords, 291
MySQL, 298-301
Oracle, 301-308
platform support for, 290
PostgreSQL, 308
programming tips, 292
quick reference, 60
rules, 292
SQL Server, 309-313
SQL2003 syntax, 290
GRAPHIC datatype
DB2, 34
platform comparison, 32
GRAPHIC function (DB2), 527
greater than (>) operator, 24
greater than or equal to (>=) operator, 24
GREATEST function
MySQL, 541
Oracle, 552
GROUP BY clause, 384, 388-394
group clause, 495
GROUP_ID( ) function (Oracle), 552
GROUPING function, 628
Oracle, 552
SQL Server, 583
GROUPING_ID function (Oracle), 553
H[ Top ]
HASHEDVALUE function (DB2), 527
HAVING clause, 384
HEIGHT function (PostgreSQL), 573
HEX function
DB2, 527
MySQL, 541
HEXTOINT function, 629
HEXTORAW function (Oracle), 553
HOST function (PostgreSQL), 573
HOST_ID( ) function (SQL Server), 583
HOST_NAME( ) function (SQL Server), 583
HOUR function
DB2, 527
MySQL, 541
I[ Top ]
IDENT_CURRENT function, 629
SQL Server, 583
identifier rules, 19
identifiers, 18-22
allowed characters, 20
beginning characters, 20
quoted, 20
reserved, 20
size, 20
IDENT_INCR function, 629
SQL Server, 584
IDENTITY function, 629
SQL Server, 584
IDENTITY_VAL_LOCAL( ) function (DB2), 527
IDENT_SEED function, 629
SQL Server, 584
IF function (MySQL), 541
IFNULL function (MySQL), 541
IMAGE datatype
platform comparison, 32
SQL Server, 46
implicit transactions, 69
IN operator, 25, 313-314
keywords, 313
platform support for, 313
quick reference, 60
SQL2003 syntax, 313
INDEX_COL function (SQL Server), 584
INDEXPROPERTY function, 629
SQL Server, 584
INET datatype
platform comparison, 32
PostgreSQL, 43
INITCAP function
Oracle, 553
INITCAP function (PostgreSQL), 573
INIT.ORA file, 93
INNER JOIN, 334
INSERT function
DB2, 528
MySQL, 541
INSERT statement, 314-326
DB2, 318
keywords, 315
MySQL, 319
operators and, 17, 23
Oracle, 319-324
platform support for, 314
PostgreSQL, 324
programming tips, 317
quick reference, 60
rules, 316
SQL Server, 324
SQL2003 syntax, 315
INSTR function
MySQL, 541
Oracle, 553
INT datatype
DB2, 35
MySQL, 37
platform comparison, 32
SQL Server, 47
Int parameter object type (ADO.NET), 611
INT2 datatype
platform comparison, 32
INT4 datatype
platform comparison, 32
INT8 datatype
PostgreSQL, 43
INTEGER datatype
DB2, 35
Oracle, 39
platform comparison, 32
PostgreSQL, 43
INTEGER function
DB2, 528
PostgreSQL, 573
INTERSECT set operator, 326-329
DB2, 328
keywords, 326
MySQL, 328
Oracle, 328
platform support for, 326
PostgreSQL, 329
programming tips, 327
quick reference, 60
rules, 327
SQL Server, 329
SQL2003 syntax, 326
INTERVAL datatype
platform comparison, 32
PostgreSQL, 43
INTERVAL DAY datatype
Oracle, 40
INTERVAL DAY TO SECOND datatype
platform comparison, 32
INTERVAL function
MySQL, 541
PostgreSQL, 573
INTERVAL YEAR datatype
Oracle, 40
INTERVAL YEAR TO MONTH datatype
platform comparison, 32
INTTOHEX function, 629
IS operator, 330-331
keywords, 330
platform support for, 330
programming tips, 330
quick reference, 60
rules, 330
SQL2003 syntax, 330
ISCLOSED function (PostgreSQL), 573
ISDATE function, 629
SQL Server, 584
ISFINITE function (PostgreSQL), 573
IS_FREE_LOCK function (MySQL), 541
IS_MEMBER function, 629
SQL Server, 584
ISNULL function
MySQL, 542
SQL Server, 584
ISNUMERIC function, 629
SQL Server, 584
ISOPEN function (PostgreSQL), 573
IS_SEC_SERVICE_ON function, 629
IS_SRVROLEMEMBER function, 629
SQL Server, 584
ITERATION_NUMBER function (Oracle), 553
J[ Top ]
Java Virtual Machine (JVM) class loader, 596
JDBC
beginning transactions, 599
bound parameters, 611-614
closing connection, 597
committing transactions, 600
database connection, 595-597
database program example, 617
error handling, 615
executing statements, 602
PreparedStatement set methods, 613
ResultSet methods, 608
Get, 607
retrieving data, 605-608
rolling back transactions, 601
JDBC (Java Database Connectivity), 590
JOIN clause, 383, 385
JOIN subclause, 60, 331-339
DB2, 337
keywords, 331-333
MySQL, 337
Oracle, 337
platform support for, 331
PostgreSQL, 339
programming tips, 336
rules, 333-336
SQL Server, 339
SQL2003 syntax, 331
types, 334-336
JULIAN_DAY function (DB2), 528
K[ Top ]
keywords, 17, 28
DB2, 637
Microsoft SQL Server, 642
MySQL, 639
Oracle, 640
PostgreSQL, 640
shared, 635
SQL Server, 642
SQL2003, 635
Sybase adaptive server, 633, 642
L[ Top ]
LAG function (Oracle), 553
LAST function (Oracle), 553
LAST_DAY function (Oracle), 554
LAST_INSERT_ID function (MySQL), 542
LAST_VALUE function (Oracle), 554
LCASE function (MySQL), 542
lct_admin function, 629
LDAP (Lightweight Directory Access Protocol)
on DB2 servers, 78
LEAD function (Oracle), 554
LEAST function
MySQL, 542
Oracle, 554
LEFT function, 629
DB2, 528
MySQL, 542
SQL Server, 585
LEFT [OUTER] JOIN, 334
LEN function, 629
SQL Server, 585
LENGTH function
DB2, 528
MySQL, 542
Oracle, 554
PostgreSQL, 573
LENGTHB function (Oracle), 554
less than (<) operator, 24
less than or equal to (<= ) operator, 24
LICENSE_ENABLED function, 630
LIKE operator, 25, 339-343
DB2, 341
keywords, 340
MySQL, 341
Oracle, 341
platform support for, 339
PostgreSQL, 342
programming tips, 341
quick reference, 60
rules, 340
SQL Server, 342
SQL2003 syntax, 339
LINE datatype
platform comparison, 32
PostgreSQL, 43
literals, 17, 22
LN function, 512
LNNVL function (Oracle), 555
LOAD_FILE function (MySQL), 542
LOCALTIMESTAMP function (Oracle), 555
LOCATE function
DB2, 528
MySQL, 542
LOCATE(substr,str,pos), 542
LOG function
DB2, 528
MySQL, 542
Oracle, 555
PostgreSQL, 573
SQL Server, 585
LOG10 function
DB2, 528
MySQL, 543
SQL Server, 585
LOG2 function (MySQL), 542
logfiles (Oracle), 93
logical operators, 23, 25
LONG datatype
Oracle, 40
platform comparison, 32
LONG RAW datatype
Oracle, 40
platform comparison, 32
LONG VARCHAR datatype
DB2, 35
platform comparison, 32
LONG VARCHAR FOR BIT DATA datatype
DB2, 35
LONG VARGRAPHIC datatype
DB2, 35
platform comparison, 32
LONGBLOB datatype
MySQL, 37
platform comparison, 32
LONGTEXT datatype
MySQL, 37
platform comparison, 32
LONG_VARCHAR function (DB2), 528
LONG_VARGRAPHIC function (DB2), 528
LOWER function, 520
LPAD function
MySQL, 543
Oracle, 555
PostgreSQL, 574
LSEG datatype
platform comparison, 32
PostgreSQL, 43
LSEG function (PostgreSQL), 574
LTRIM function
DB2, 528
MySQL, 543
Oracle, 555
PostgreSQL, 574
SQL Server, 585
M[ Top ]
MACADDR datatype
platform comparison, 32
PostgreSQL, 44
MAKE_REF function (Oracle), 555
MAKE_SET function (MySQL), 543
MASKLEN function (PostgreSQL), 574
MAX function, 475, 482
MD5 function (MySQL), 543
MEDIAN function (Oracle), 555
MEDIUMBLOB datatype
MySQL, 37
platform comparison, 32
MEDIUMINT datatype
MySQL, 38
MEDIUMTEXT datatype
MySQL, 37
platform comparison, 32
MERGE statement, 343-346
DB2, 345
keywords, 344
MySQL, 345
Oracle, 345
platform support for, 343
PostgreSQL, 346
programming tips, 344
quick reference, 60
rules, 344
SQL Server, 346
SQL2003 syntax, 343
metadata, 6
methods
ADO.NET DataReader, 605
JDBC ResultSet, 608
MICROSECOND function (DB2), 528
Microsoft SQL Server, xii
Microsoft SQL Server keywords , 642
MID function (MySQL), 546
MIDNIGHT_SECONDS function (DB2), 528
MIN function, 475, 482
MINUTE function
DB2, 529
MySQL, 543
MOD function, 513
modula (%) arithmetic operator (SQLServer), 23
MONEY datatype
platform comparison, 32
PostgreSQL, 44
SQL Server, 47
MONTH function, 630
DB2, 529
MySQL, 543
SQL Server, 585
MONTHNAME function
DB2, 529
MySQL, 543
MONTHS_BETWEEN function (Oracle), 555
multiplication (*) arithmetic operator, 23
MULTIPLY_ALT function (DB2), 529
MUT_EXCL_ROLES function, 630
MySQL, 16
allowed characters in identifiers, 20
ALTER TABLE syntax, 166
beginning identifier character, 20
CALL statement, 65
COMMIT statement, 70
connecting using JDBC, 596
CREATE/ALTER DATABASE statements, 79
CREATE/ALTER FUNCTION/PROCEDURE statements, 116
CREATE/ALTER INDEX statements, 129
CREATE/ALTER METHOD statements, 143
CREATE/ALTER ROLE statements, 145
CREATE/ALTER SCHEMA statements, 149
CREATE/ALTER TABLE
keywords and parameters, 166-170
CREATE/ALTER TABLE statements, 165-170
ALTER, 169
ALTER COLUMN, 169
AUTO_INCREMENT, 168
AVG_ROW_LENGTH, 168
CHANGE, 169
CHECKSUM, 168
COMMENT, 168
constraint_type, 166
DATA DIRECTORY, 169
DELAY_KEY_WRITE, 168
DROP, 169
ENABLE KEYS, 169
IF NOT EXISTS, 166
IGNORE SELECT_statement, 169
INDEX DIRECTORY, 169
INSERT_METHOD, 169
keywords, 166-170
MAX_ROWS, 168
MIN_ROWS, 168
MODIFY, 169
PACK_KEYS, 168
parameters, 166-170
PASSWORD, 168
RAID_CHUNKS, 169
RAID_CHUNKSIZE, 169
RAID_TYPE, 168
RENAME, 170
REPLACE SELECT_statement, 169
ROW_FORMAT, 168
TEMPORARY, 166
TYPE, 167
CREATE/ALTER TRIGGER statements, 209
CREATE/ALTER TYPE statements, 222
CREATE/ALTER VIEW statements, 237
datatypes, 35-38
DECLARE CURSOR command, 247
DELETE statement, 255-256
DISCONNECT statement, 261
DROP statements, 266
EXCEPT set operator, 279
FETCH statement, 286
functions, 535-548
ACOS, 535
ADDDATE, 537
ASCII, 535
ASIN, 535
ATAN, 535
ATAN2, 535
BENCHMARK, 535
BIN, 535
BINARY, 536
BIT_AND, 536
BIT_COUNT, 536
BIT_OR, 536
CHAR, 536
COALESCE, 536
COMPRESS, 536
CONCAT_WS, 536
CONNECTION_ID( ), 536
CONV, 536
COS, 536
COT, 537
CURDATE( ), 537
CURTIME( ), 537
DATABASE( ), 537
DATE_ FORMAT, 537
DATE_ADD, 537
DATE_SUB, 537
DAYNAME, 539
DAYOFMONTH, 539
DAYOFWEEK, 539
DAYOFYEAR, 539
DECODE, 539
DEGREES, 539
ELT, 539
ENCODE, 539
ENCRYPT, 540
EXPORT_SET, 540
FIELD, 540
FIND_IN_SET, 540
FORMAT, 540
FROM_DAYS, 540
FROM_UNIXTIME, 540
GET_LOCK, 541
GREATEST, 541
HEX, 541
HOUR, 541
IF, 541
IFNULL, 541
INSERT, 541
INSTR, 541
INTERVAL, 541
IS_FREE_LOCK, 541
ISNULL, 542
LAST_INSERT_ID, 542
LCASE, 542
LEAST, 542
LEFT, 542
LENGTH, 542
LOAD_FILE, 542
LOCATE, 542
LOG, 542
LOG10, 543
LOG2, 542
LPAD, 543
LTRIM, 543
MAKE_SET, 543
MD5, 543
MID, 546
MINUTE, 543
MONTH, 543
MONTHNAME, 543
NOW( ), 543
NULLIF, 543
OCT, 544
ORD, 544
PASSWORD, 544
PERIOD_ADD, 544
PERIOD_DIFF, 544
PI( ), 544
POSITION, 542
,POW, 544
POWER, 544
QUARTER, 544
RADIANS, 544
RAND( ), 544
RELEASE_LOCK, 545
REPEAT, 545
REPLACE, 545
REVERSE, 545
RIGHT, 545
ROUND, 545
RPAD, 545
RTRIM, 545
SECOND, 545
SEC_TO_TIME, 545
SESSION_USER( ), 547
SHA, 545
SHA1, 545
SIGN, 546
SIN, 546
SOUNDEX, 546
SPACE, 546
STD, 546
STDDEV, 546
STRCMP, 546
SUBDATE, 537
SUBSTRING, 546
SUBSTRING_INDEX, 546
SYSDATE( ), 543
SYSTEM_USER( ), 547
TAN, 546
TIME_FORMAT, 547
TIME_TO_SEC, 547
TO_DAYS, 547
TRUNCATE, 547
UCASE, 547
UNCOMPRESS, 547
UNHEX, 547
UNIX_TIMESTAMP, 547
USER( ), 547
VERSION( ), 547
WEEK, 547
WEEKDAY, 548
YEAR, 548
YEARWEEK, 548
GRANT statement, 298-301
identifier size, 20
INSERT statement, 319
INTERSECT set operator, 328
JOIN subclause, 337
keywords, 639
LIKE operator, 341
MERGE statement, 345
OPEN statement, 349
ORDER BY clause, 352
RELEASE SAVEPOINT statement, 355
reserved identifiers, 21
RETURN statement, 357
REVOKE statement, 366-368
ROLLBACK statement, 376
SAVEPOINT statement, 380
schema addressing, 21
SELECT statement, 398-400
{FOR UPDATE | LOCK IN SHARE MODE}, 399
FROM - USE INDEX, 398
HIGH_PRIORITY, 398
IGNORE INDEX, 398
INTO, 399
JOIN syntax, 400
LIMIT, 399
PROCEDURE, 399
select_item, 398
SQL_BIG_RESULT, 398
SQL_BUFFER_RESULT, 398
SQL_SMALL_RESULT, 398
STRAIGHT_JOIN, 398
SET CONNECTION statement, 427
SET CONSTRAINT statement, 429
SET PATH statement, 431
SET ROLE statement, 432
SET SCHEMA statement, 434
SET SESSION AUTHORIZATION statement, 435
SET statement, 424
SET TIME ZONE statement, 437
SET TRANSACTION statement, 440
special rules, 21
START TRANSACTION statement, 445
SUBQUERY substatement, 452
TRUNCATE TABLE statement, 454
UNION set operator, 457
UPDATE statement, 464
web site, xi
WHERE clause, 472
N[ Top ]
naming conventions, 18
NANVL function (Oracle), 555
NATIONAL CHAR datatype
Oracle, 40
platform comparison, 32
SQL Server, 47
NATIONAL CHAR VARYING datatype
Oracle, 40
platform comparison, 32
SQL Server, 47
NATIONAL CHARACTER datatype
Oracle, 40
platform comparison, 32
SQL Server, 47
NATIONAL CHARACTER VARYING datatype
MySQL, 38
Oracle, 40
platform comparison, 32
SQL Server, 47
NATIONAL TEXT datatype
platform comparison, 33
SQL Server, 47
NATURAL [INNER | {LEFT | RIGHT}[ OUTER] ] JOIN, 335
NCHAR( ) datatype
SQL Server, 622
Sybase adaptive server, 621
NCHAR datatype
MySQL, 38
Oracle, 40
platform comparison, 32
SQL Server, 47
NCHAR function, 630
Oracle, 556
SQL Server, 585
NCHAR VARYING datatype
Oracle, 40
platform comparison, 32
NCLOB datatype
Oracle, 40
platform comparison, 32
nested parentheses and operator precedence, 26
nested tables
in FROM clause, 450
Oracle, 183
subqueries, 448
NETMASK function (PostgreSQL), 574
NETWORK function (PostgreSQL), 574
NEWID( ) function, 630
SQL Server, 585
NEW_TIME function (Oracle), 556
NEXT_DAY function (Oracle), 556
NLS_CHARSET_DECL_LEN function (Oracle), 556
NLS_CHARSET_ID function (Oracle), 556
NLS_CHARSET_NAME function (Oracle), 556
NLS_INITCAP function (Oracle), 556
NLS_LOWER function (Oracle), 557
NLSSORT function (Oracle), 557
NLS_UPPER function (Oracle), 557
nondeterministic functions, 473
not equal to (!=) operator, 24
not greater than (!>) operator, 24
not less than (!<) operator, 24
NOT operator, 25
NOW( ) function (MySQL), 543
NPOINTS function (PostgreSQL), 574
NTEXT datatype
platform comparison, 33
SQL Server, 47, 621
NTILE function (Oracle), 557
NULL values, 5
NULLIF function, 630
DB2, 529
MySQL, 543
Oracle, 557
PostgreSQL, 574
SQL Server, 585
NUM datatype
DB2, 35
NUMBER datatype
Oracle, 40
platform comparison, 33
NUMERIC datatype
DB2, 35
MySQL, 38
Oracle, 40
platform comparison, 33
PostgreSQL, 43, 44
SQL Server, 46, 47
numeric datatype and unary operators, 25
numeric functions, 505-516
enhanced, 10
NUMTODSINTERVAL function (Oracle), 557
NUMTOYMINTERVAL function (Oracle), 557
NVARACHAR( ) datatype (Sybase Adaptive Server), 622
NVARCHAR datatype
MySQL, 38
platform comparison, 32
SQL Server, 47
NVARCHAR2( ) datatype
platform comparison, 33
NVARCHAR2 datatype
Oracle, 40
NVL function (Oracle), 558
NVL2 function (Oracle), 558
O[ Top ]
OBJECT_ID function (SQL Server), 585
OBJECT_NAME function (SQL Server), 585
OBJECTPROPERTY function, 630
SQL Server, 585
objects, 4
OCT function (MySQL), 544
OCTET_LENGTH function, 506
OdbcConnection
connection string attributes for, 594
OID datatype
platform comparison, 33
PostgreSQL, 44
OLAP functions, 10
OleDbConnection
connection string attributes for, 594
OPEN function, 630
SQL Server, 585
OPEN statement, 346-349
DB2, 348
keywords, 347
MySQL, 349
Oracle, 349
platform support for, 346
PostgreSQL, 349
programming tips, 347
quick reference, 60
rules, 347
SQL Server, 349
SQL2003 syntax, 346
OPENDATASOURCE function, 630
SQL Server, 586
OPENQUERY function, 630
SQL Server, 586
OPENROWSET function, 630
SQL Server, 586
operator precedence, 26
operators, 17, 23-28
string, 516-523
OPERATORS, quick reference, 60
OR operator, 25
Oracle, 16
allowed characters in identifiers, 20
ALTER INDEX syntax, 131
ALTER TABLE statement, 197
ALTER TABLE syntax, 172
altering a partitioned table, 192
basics, 92-94
beginning identifier character, 20
CALL statement, 65
column_constraint_clause, 174
COMMIT statement, 70
compressed tables, 183
CONNECT statement, 73
connecting using JDBC, 596
CREATE INDEX syntax, 130
CREATE/ALTER DATABASE statements, 79-94
ACTIVATE, 86
ADD LOGFILE, 89
ADD SUPPLEMENTAL LOG DATA, 89
ALLOW, 91
ARCHIVELOG, 82, 89
AUTOMATIC, 90
BACKUP CONTROLFILE TO, 90
BEGIN BACKUP, 92
BIGFILE, 84
CANCEL, 91
CHARACTER SET, 83
CLEAR LOGFILE, 90
CONTINUE, 91
CONTROLFILE REUSE, 81
CREATE DATAFILE, 88
CREATE STANDBY CONTROLFILE AS, 90
DATABASE, 90
DATAFILE, 83, 88
DEFAULT TABLESPACE, 84
DEFAULT TEMPORARY TABLESPACE, 84
ENABLE BLOCK CHANGE TRACKING, 87
ENABLE THREAD, 88
EXTENT MANAGEMENT, 83, 85
FLASHBACK, 88
FOR, 86
FORCE LOGGING, 83, 89
GUARD, 88
LOGFILE, 82, 91
MANAGED STANDBY DATABASE, 91
MAXDATAFILES, 83
MAXINSTANCES, 83
MAXLOGFILES, 82
MAXLOGHISTORY, 82
MAXLOGMEMBERS, 82
MOUNT, 86
NATIONAL CHARACTER SET, 83
OPEN, 86
PARALLEL, 87
RECOVER, 90
REGISTER, 86
RENAME FILE, 89
RENAME GLOBAL_NAME TO, 87
SET DEFAULT TABLESPACE, 85
SET STANDBY, 86
SET TIME_ZONE, 85
SMALLFILE, 84
STANDBY, 90
START LOGICAL STANDBY APPLY, 87
SYSAUX DATAFILE, 84
TABLESPACE, 90
TEST, 91
UNDO TABLESPACE, 85
UNTIL, 91
USER SYS IDENTIFIED BY, 81
USER SYSTEM IDENTIFIED BY, 81
CREATE/ALTER FUNCTION/PROCEDURE statements, 116-119
AGGREGATE, 117
ALTER, 118
AS, 118
AUTHID, 117
code_block, 118
COMPILE, 118
CREATE, 117
IN, 117
IS, 118
LANGUAGE, 118
NOCOPY, 117
OUT, 117
PARALLEL_ENABLE, 117
PIPELINED, 117
CREATE/ALTER INDEX statements, 130-137
ALLOCATE EXTENT, 135
alter_index_partitioning_clause, 135
ASC, 131
BITMAP, 131
CLUSTER, 131
COALESCE, 135
COMPRESS, 134
COMPUTE, 134
DEALLOCATE UNUSED, 135
DESC, 131
ENABLE, 134
GLOBAL, 131
INDEXTYPE IS, 131
LOCAL, 132
LOGGING, 133
MONITORING USAGE, 135
NOSORT, 134
PARALLEL, 134
PARAMETERS, 135
physical_attributes_clause, 133
rebuild_clause, 135
RENAME TO, 134
REVERSE, 134
SHRINK SPACE, 136
TABLESPACE DEFAULT, 134
UNUSABLE, 134
UPDATE BLOCK REFERENCES, 135
CREATE/ALTER METHOD statements, 143
CREATE/ALTER ROLE statements, 145
CREATE/ALTER SCHEMA statements, 149
CREATE/ALTER TABLE statements, 170-197
ADD -, 178
ADD PARTITION, 189
ALLOCATE EXTENT, 179
AS object_type, 177
AS subquery, 177
CACHE, 176
CLUSTER, 174
COALESCE, 179
COALESCE PARTITION, 190
COMPRESS, 176
constraint_state clause, 196
DEALLOCATE UNUSED, 179
DROP -, 178
DROP PARTITION, 190
ENABLE ROW MOVEMENT, 176
ENABLE TABLE LOCK, 180
EXCHANGE PARTITION, 191
foreign key constraint, 197
GROUP, 174
inline_ref_constraint, 178, 196
LOGGING, 174
MERGE PARTITION, 191
MINIMIZE RECORDS_PER_BLOCK, 179
MODIFY -, 178
MODIFY DEFAULT ATTRIBUTES, 188
MODIFY PARTITION, 188
MODIFY SUBPARTITION, 189
MONITORING, 176
MOVE -, 179
MOVE PARTITION, 189
OBJECT IDENTIFIER IS, 178
OF XMLTYPE, 178
OIDINDEX, 178
ON COMMIT, 174
ORGANIZATION EXTERNAL, 175
ORGANIZATION HEAP, 174
ORGANIZATION INDEX, 175
PARALLEL, 176
parameters, 174-180
partition_clause, 177
partition_level_subpartition_clause, 186
partition_storage_clause, 186
physical_attributes_clause, 174
PROJECT COLUMN, 179
RENAME -, 178
RENAME PARTITION, 190
ROWDEPENDENCIES, 176
SET SUBPARTITION TEMPLATE, 188
SET UNUSED -, 178
SHRINK SPACE, 179
SPLIT PARTITION, 190
storage_clause, 174, 186
SUBSTITUTABLE AT ALL LEVELS, 177
table_constraint_clause, 174
table_partition_description clause, 186
table_ref_constraint, 178, 196
TABLESPACE, 174
TRUNCATE PARTITION, 190
update_index_clause, 190
UPGRADE INCLUDING DATA, 179
xml_schema_spec, 178
XMLTYPE, 178
CREATE/ALTER TRIGGER statements, 209-212
CREATE/ALTER TYPE statements, 222-228
ADD, 226
AS OBJECT, 223
AS TABLE OF, 223
AS VARRAY, 223
AUTHID, 223
BODY, 226
CASCADE, 227
COMPILE, 226
compiler_directives, 226
CONVERT TO SUBSTITUTABLE, 227
datatype, 224
DEBUG, 226
DROP, 226
EXCEPTIONS INTO, 227
EXTERNAL NAME, 223
FORCE, 227
INCLUDING TABLE DATA, 227
INVALIDATE, 227
MEMBER, 224
MODIFY, 226
MODIFY ELEMENT TYPE, 227
MODIFY LIMIT, 227
OID, 223
OR REPLACE, 223
OVERRIDING, 226
REPLACE AS OBJECT, 226
REUSE SETTINGS, 226
SPECIFICATION, 226
STATIC, 224
UNDER, 223
CREATE/ALTER VIEW statements, 237-240
datatypes, 38-41
DECLARE CURSOR command, 248
default database user accounts, 94
DELETE statement, 256-258
DISCONNECT statement, 261
DROP statements, 267-272
CLUSTER, 267
CONTEXT, 268
DATABASE, 268
DIMENSION, 268
DIRECTORY, 268
FUNCTION, 268
INDEX, 268
INDEXTYPE, 269
JAVA, 269
LIBRARY, 269
MATERIALIZED VIEW, 269
OPERATOR, 269
OUTLINE, 269
PACKAGE, 269
PROCEDURE, 270
PROFILE, 270
[PUBLIC] DATABASE LINK, 268
[PUBLIC] SYNONYM, 270
ROLE, 270
ROLLBACK SEGMENT, 270
SEQUENCE, 270
SNAPSHOT, 269
TABLE, 270
TABLESPACE, 271
TRIGGER, 271
TYPE, 271
USER, 272
VIEW, 272
EXCEPT set operator, 279
FETCH statement, 286
functions, 548-570
ACOS, 548
ADD_MONTHS, 548
ASCII, 548
ASCIISTR, 548
ASIN, 548
ATAN, 548
ATAN2, 549
BFILENAME, 549
BIN_TO_NUM, 549
BITAND, 549
CARDINALITY, 549
CHARTOROWID, 549
CHR, 549
COALESCE, 549
COLLECT, 549
COMPOSE, 549
CONCAT, 549
CONVERT, 549
CORR_K, 550
COS, 550
COSH, 550
CV, 550
DBTIMEZONE, 550
DECODE, 550
DECOMPOSE, 550
DEPTH, 551
DEREF, 551
DUMP, 551
EMPTY_BLOB( ), 551
EMPTY_CLOB( ), 551
EXISTSNODE, 551
EXTRACT, 551
EXTRACTVALUE, 551
FIRST, 551
FIRST_VALUE, 552
FROM_TZ, 552
GREATEST, 552
GROUP_ID( ), 552
GROUPING, 552
GROUPING_ID, 553
HEXTORAW, 553
INITCAP, 553
INSTR, 553
ITERATION_NUMBER, 553
LAG, 553
LAST, 553
LAST_DAY, 554
LAST_VALUE, 554
LEAD, 554
LEAST, 554
LENGTH, 554
LENGTHB, 554
LNNVL, 555
LOCALTIMESTAMP, 555
LOG, 555
LPAD, 555
LTRIM, 555
MAKE_REF, 555
MEDIAN, 555
MONTHS_BETWEEN, 555
NANVL, 555
NCHAR, 556
NEW_TIME, 556
NEXT_DAY, 556
NLS_CHARSET_DECL_LEN, 556
NLS_CHARSET_ID, 556
NLS_CHARSET_NAME, 556
NLS_INITCAP, 556
NLS_LOWER, 557
NLSSORT, 557
NLS_UPPER, 557
NTILE, 557
NULLIF, 557
NUMTODSINTERVAL, 557
NUMTOYMINTERVAL, 557
NVL, 558
NVL2, 558
ORA_HASH, 558
PATH, 558
POWERMULTISET, 558
PRESENTNNV, 558
PRESENTV, 558
PREVIOUS, 559
RATIO_TO_REPORT, 559
RAWTOHEX, 559
REF, 559
REFTOHEX, 559
REGEXP_INSTR, 559
REGEXP_REPLACE, 560
REGEXP_SUBSTR, 560
REMAINDER, 560
REPLACE, 561
ROUND, 561
ROWIDTOCHAR, 561
RPAD, 561
RTRIM, 561
SCN_TO_TIMESTAMP, 561
SESSIONTIMEZONE, 561
SET, 561
SIGN, 562
SIN, 562
SINH, 562
SOUNDEX, 562
STATS_BINOMIAL_TEST, 562
STDDEV, 562
STDDEV_SAMP, 562
STDEV_POP, 562
SUBSTR, 562
SUBSTRB, 562
SYS_CONNECT_BY_PATH, 563
SYS_CONTEXT, 563
SYSDATE, 564
SYS_DBURIGEN, 563
SYS_EXTRACT_UTC, 563
SYS_GUID( ), 563
SYSTIMESTAMP, 564
SYS_TYPEID, 563
SYS_XMLAGG, 563
SYS_XMLGEN, 563
TAN, 564
TANH, 564
TIMESTAMP_TO_SCN, 564
TO_BINARY_DOUBLE, 564
TO_BINARY_FLOAT, 564
TO_CHAR, 564
TO_CLOB, 566
TO_DATE, 566
TO_DSINTERVAL, 567
TO_LOB, 567
TO_MULTI_BYTE, 567
TO_NCHAR, 567
TO_NCLOB, 567
TO_NUMBER, 567
TO_SINGLE_BYTE, 567
TO_TIMESTAMP, 567
TO_TIMESTAMP_TZ, 567
TO_YMINTERVAL, 568
TRANSLATE, 568
TREAT, 568
TRUNC, 568
TZ_OFFSET, 568
UID, 568
UNISTR, 569
UPDATEXML, 569
USERENV, 569
VALUE, 569
VARIANCE, 569
VAR_POP, 569
VAR_SAMP, 569
VSIZE, 569
XMLAGG, 570
XMLCOLATTVAL, 570
XMLCONCAT, 570
XMLELEMENT, 570
XMLFOREST, 570
XMLSEQUENCE, 570
XMLTRANSFORM, 570
global temporary table, 180
GRANT statement, 301-308
IDENTIFIED BY, 303
object_privilege, 301
ON, 303
role, 302
system_privilege, 302
TO, 303
identifier size, 20
indexes, 136
index-organized table (IOT), 136-137
INIT.ORA file, 93
INSERT statement, 319-324
ALL, 321
conditional multitable, 322
ELSE, 322
FIRST, 321
INSERT, 320
subquery, 320
TABLE, 320
table_name, 320
unconditional multitable, 322
VALUES, 321
WHEN, 322
INTERSECT set operator, 328
JOIN subclause, 337
keywords, 640
LIKE operator, 341
local index partitioning, 132
logfiles, 93
MERGE statement, 345
nested tables, 183
object-type tables, 196
OPEN statement, 349
ORDER BY clause, 352
ORGANIZATION HEAP clause, 193
partitioned and subpartitioned tables, 183-187
altering, 187-193
physical_attributes_clause, 180
primary databases, 93
RELEASE SAVEPOINT statement, 355
reserved identifiers, 21
RETURN statement, 357
REVOKE statement, 368-371
ROLLBACK statement, 376
SAVEPOINT statement, 380
schema addressing, 21
SELECT statement, 401-413
ALL, 401
AS, 402
[CROSS] JOIN, 406
DISTINCT, 401
flashback queries, 408
flashback_query_clause, 402
FOR UPDATE, 404
FROM, 402
FULL [OUTER] JOIN, 406
INNER JOIN, 406
INTO, 402
JOIN, 403
LEFT [OUTER] JOIN, 406
MODEL clause, 409
NATURAL, 406
ON, 406
optimizer_hint, 401
ORDER SIBLINGS BY, 404
PARTITION, 403
PARTITION BY, 403
partitioned outer joins, 407
RIGHT [OUTER] JOIN, 406
SAMPLE, 403
select_item, 402
SUBPARTITION, 403
subquery, 402
TABLE, 403
UNIQUE, 401
USING, 406
VERSIONS BETWEEN, 402
WHERE -, 403
WITH query_name AS, 401
SET CONNECTION statement, 427
SET CONSTRAINT statement, 429
SET PATH statement, 431
SET ROLE statement, 432
SET SCHEMA statement, 434
SET SESSION AUTHORIZATION statement, 436
SET statement, 425
SET TIME ZONE statement, 437
SET TRANSACTION statement, 441
special rules, 21
standby databases, 93
START TRANSACTION statement, 446
storage_clause and LOBs, 180
stored procedures, 118
SUBQUERY substatement, 452
syntax for object table, 172
syntax for XMLType table, 172
syntax to alter existing database, 80-81
syntax to create new database, 79
system privileges, 304-307
ADMINISTER DATABASE TRIGGER, 306
{ALTER | DROP} ANY ROLE, 305
ALTER ANY TABLE, 306
ALTER ANY TRIGGER, 306
ALTER DATABASE, 304
ALTER RESOURCE COST, 305
ALTER SESSION, 305
ALTER SYSTEM, 304
ALTER USER, 307
ANALYZE ANY, 307
AUDIT ANY, 307
AUDIT SYSTEM, 304
BACKUP ANY TABLE, 306
BECOME USER, 307
COMMENT ANY TABLE, 307
{CREATE | ALTER | DROP | EXECUTE} ANY PROCEDURE, 305
{CREATE | ALTER | DROP | SELECT} ANY SEQUENCE, 305
{CREATE | ALTER | DROP} ANY CLUSTER, 304
{CREATE | ALTER | DROP} ANY DIMENSION, 304
{CREATE | ALTER | DROP} ANY INDEX, 305
{CREATE | ALTER | DROP} ANY MATERIALIZED VIEW, 305
{CREATE | ALTER | DROP} ANY SNAPSHOT, 306
{CREATE | ALTER | DROP} ANY TYPE, 306
{CREATE | ALTER | DROP} PROFILE, 305
{CREATE | ALTER | DROP} ROLLBACK SEGMENT, 305
{CREATE | ALTER | DROP} TABLESPACE, 306
{CREATE | DROP | ALTER} ANY OUTLINE, 305
{CREATE | DROP } ANY DIRECTORY, 305
{CREATE | DROP | EXECUTE } ANY INDEXTYPE, 305
{CREATE | DROP | EXECUTE} ANY OPERATOR, 305
{CREATE | DROP} ANY CONTEXT, 304
{CREATE | DROP} ANY LIBRARY, 305
{CREATE | DROP} ANY SYNONYM, 306
{CREATE | DROP} ANY TRIGGER, 306
{CREATE | DROP} ANY VIEW, 307
{CREATE | DROP} PUBLIC SYNONYM, 306
CREATE ANY TABLE, 306
CREATE CLUSTER, 304
CREATE DATABASE LINK, 304
CREATE DIMENSION, 304
CREATE INDEXTYPE, 305
CREATE MATERIALIZED VIEW, 305
CREATE OPERATOR, 305
CREATE PROCEDURE, 305
CREATE PUBLIC DATABASE LINK, 304
CREATE ROLE, 305
CREATE SEQUENCE, 305
CREATE SESSION, 305
CREATE SNAPSHOT, 306
CREATE SYNONYM, 306
CREATE TRIGGER, 306
CREATE TYPE, 306
CREATE USER, 307
CREATE VIEW, 307
DEBUG ANY PROCEDURE, 304
DEBUG CONNECT SESSION, 304
DELETE ANY TABLE, 306
DROP ANY TABLE, 306
DROP PUBLIC DATABASE LINK, 304
DROP USER, 307
EXECUTE ANY TYPE, 306
EXEMPT ACCESS POLICY, 307
FLASHBACK ANY TABLE, 305
FORCE ANY TRANSACTION, 307
FORCE TRANSACTION, 307
GLOBAL QUERY REWRITE, 305
GRANT ANY OBJECT PRIVILEGE, 307
GRANT ANY PRIVILEGE, 307
GRANT ANY ROLE, 305
INSERT ANY TABLE, 306
LOCK ANY TABLE, 306
MANAGE TABLESPACE, 306
ON COMMIT REFRESH, 305
QUERY REWRITE, 305
RESTRICTED SESSION, 306
RESUMABLE, 307
SELECT ANY DICTIONARY, 307
SELECT ANY OUTLINE, 305
SELECT ANY TABLE, 306
SYSDBA, 307
SYSOPER, 307
UNDER ANY TYPE, 306
UNDER ANY VIEW, 307
UNLIMITED TABLESPACE, 306
UPDATE ANY TABLE, 306
TRUNCATE TABLE statement, 454
UDFs, 118
UNION set operator, 457
UPDATE statement, 464-466
WHERE clause, 472
window syntax, 493
XMLType tables, 195-196
Oracle keywords, 640
ORA_HASH function (Oracle), 558
ORD function (MySQL), 544
ORDER BY clause, 349-353, 384, 495
DB2, 351
keywords, 350
MySQL, 352
Oracle, 352
platform support for, 349
PostgreSQL, 353
programming tips, 351
quick reference, 60
rules, 350
SQL Server, 353
SQL2003 syntax, 350
ordering clause, 495
ORGANIZATION HEAP clause (Oracle), 193
OVERLAY function, 520
P[ Top ]
parameter object types (ADO.NET), 611
parameters
binding input, 592
bound (see bound parameters)
parametrized statements, 608
parentheses
nested and operator precedence, 26
PARSENAME function, 630
SQL Server, 586
partitioned tables
Oracle, 183-187
altering, 187-193
partitioning clause, 494
PASSWORD function (MySQL), 544
PATH datatype
platform comparison, 33
PostgreSQL, 44
PATH function
Oracle, 558
PostgreSQL, 574
PATINDEX function, 630
SQL Server, 586
PCLOSE function (PostgreSQL), 574
PERCENTILE_CONT function, 475, 484
PERCENTILE_DISC function, 475, 485
PERCENT_RANK function, 475, 483, 499
PERIOD_ADD function (MySQL), 544
PERIOD_DIFF function (MySQL), 544
permissions, 5
PERMISSIONS function, 630
SQL Server, 586
physical_attributes_clause (Oracle), 180
PI( ) function
MySQL, 544
PostgreSQL, 574
PI( ) function
SQL Server, 586
platform comparisons, 31-33
PL/pgSQL, 14
PL/SQL, 14
POINT datatype
platform comparison, 33
PostgreSQL, 44
POINT function (PostgreSQL), 575
POLYGON datatype
platform comparison, 33
PostgreSQL, 44
POLYGON function (PostgreSQL), 575
POPEN function (PostgreSQL), 575
POSITION function, 513
MySQL, 542
POSSTR function (DB2), 529
PostgreSQL, 17
allowed characters in identifiers, 20
beginning identifier character, 20
CLOSE CURSOR statement, 67
COMMIT statement, 70
CONNECT statement, 73
connecting using JDBC, 596
CREATE/ALTER DATABASE statements, 94-95
CREATE/ALTER FUNCTION/PROCEDURE statements, 119
CREATE/ALTER INDEX statements, 137
CREATE/ALTER METHOD statements, 143
CREATE/ALTER ROLE statements, 146
CREATE/ALTER SCHEMA statements, 149
CREATE/ALTER TABLE statements, 197-200
CREATE/ALTER TRIGGER statements, 212
CREATE/ALTER TYPE statements, 228-230
CREATE/ALTER VIEW statements, 240
datatypes, 41-45
DECLARE CURSOR command, 248
DELETE statement, 258
DISCONNECT statement, 261
DROP statements, 272-274
AGGEGATE, 272
DATABASE, 273
FUNCTION, 273
GROUP, 273
INDEX, 273
OPERATOR, 273
[PROCEDURAL] LANGUAGE, 273
RULE, 273
SEQUENCE, 273
TABLE, 274
TRIGGER, 274
TYPE, 274
USER, 274
VIEW, 274
EXCEPT set operator, 280
FETCH statement, 288
functions, 570-579
ABSTIME, 570
ACOS, 570
AGE, 571
AREA, 571
ASCII, 571
ASIN, 571
ATAN, 571
ATAN2, 571
BOX, 571
BROADCAST, 572
CBRT, 572
CENTER, 572
CHAR, 572
CHAR_LENGTH, 572
CIRCLE, 572
COALESCE, 572
COS, 572
COT, 550, 572
DATE_PART, 572
DATE_TRUNC, 572
DEGREES, 572
DIAMETER, 572
FLOAT, 573
FLOAT4, 573
HEIGHT, 573
HOST, 573
INITCAP, 573
INTEGER, 573
INTERVAL, 573
ISCLOSED, 573
ISFINITE, 573
ISOPEN, 573
LENGTH, 573
LOG, 573
LPAD, 574
LSEG, 574
LTRIM, 574
MASKLEN, 574
NETMASK, 574
NETWORK, 574
NPOINTS, 574
NULLIF, 574
PATH, 574
PCLOSE, 574
PI( ), 574
POINT, 575
POLYGON, 575
POPEN, 575
POW, 575
RADIANS, 575
RADIUS, 575
RELTIME, 575
ROUND, 576
RPAD, 576
RTRIM, 576
SET_MASKLEN, 576
SIN, 576
SUBSTR, 576
SUBSTRING, 576
TAN, 576
TEXT, 576
TIMESTAMP, 576
TO_CHAR, 576
TO_DATE, 576
TO_NUMBER, 578
TO_TIMESTAMP, 579
TRANSLATE, 579
TRUNC, 579
VARCHAR, 579
WIDTH, 579
GRANT statement, 308
identifier size, 20
INSERT statement, 324
INTERSECT set operator, 329
JOIN subclause, 339
keywords, 640
LIKE operator, 342
MERGE statement, 346
OPEN statement, 349
ORDER BY clause, 353
RELEASE SAVEPOINT statement, 355
reserved identifiers, 21
RETURN statement, 358
REVOKE statement, 371-372
ROLLBACK statement, 377
SAVEPOINT statement, 380
schema addressing, 21
SELECT statement, 413-416
ALL, 413
AS, 413
[CROSS] JOIN, 415
FOR UPDATE OF, 414
FROM, 414
FULL [OUTER] JOIN, 416
GROUP BY, 414
INNER JOIN, 415
INTO, 413
LEFT [OUTER] JOIN, 415
NATURAL, 415
ON, 416
ORDER BY, 414
RIGHT [OUTER] JOIN, 416
select_item, 413
SET CONNECTION statement, 427
SET CONSTRAINT statement, 429
SET PATH statement, 431
SET ROLE statement, 433
SET SCHEMA statement, 434
SET SESSION AUTHORIZATION statement, 436
SET statement, 425
SET TIME ZONE statement, 437
SET TRANSACTION statement, 442
START TRANSACTION statement, 446
SUBQUERY substatement, 452
TRUNCATE TABLE statement, 455
UNION set operator, 458
UPDATE statement, 466
web site, xii
WHERE clause, 472
PostgreSQL keywords, 640
pound symbol (#), 122
POW function
MySQL, 544
PostgreSQL, 575
POWER function, 514
MySQL, 544
POWERMULTISET function (Oracle), 558
prefixes, 19
PreparedStatement set methods (JDBC), 613
PRESENTNNV function (Oracle), 558
PRESENTV function (Oracle), 558
PREVIOUS function (Oracle), 559
primary databases (Oracle), 93
PRIMARY KEY constraints, 50
procedural programming, 7
PROCEDURE, quick reference, 60
PROCESSADMIN (SQL Server system role), 311
PROC_ROLE function, 630
programming databases, 590-619
examples, 616-619
overview, 591-593
Q[ Top ]
QUARTER function
DB2, 529
MySQL, 544
quoted identifier symbol, 20
quoted identifiers, 19
R[ Top ]
RADIANS function
DB2, 529
MySQL, 544
PostgreSQL, 575
SQL Server, 586
RADIUS function (PostgreSQL), 575
RAISE_ERROR function (DB2), 529
RAND( ) function (MySQL), 544
RAND function
DB2, 530
SQL Server, 586
RANK function, 475, 486
RANK( ) function, 498
RATIO_TO_REPORT function (Oracle), 559
RAW datatype
Oracle, 40
platform comparison, 33
RAWTOHEX function (Oracle), 559
RDBMSs (Relational Database Management System), 2-9
ReadCommitted isolation level (Transaction object (ADO.NET)), 598
ReadUncommitted isolation level (Transaction object (ADO.NET)), 598
REAL datatype
DB2, 35
MySQL, 38
Oracle, 40
platform comparison, 33
PostgreSQL, 43
SQL Server, 47
REAL function (DB2), 530
REC2XML function (DB2), 530
records, 4
REF function (Oracle), 559
REFTOHEX function (Oracle), 559
REGEXP_INSTR function (Oracle), 559
REGEXP_REPLACE function (Oracle), 560
REGEXP_SUBSTR function (Oracle), 560
REGR family of functions, 487
REGR_AVGX function, 475, 487
REGR_AVGY function, 475, 487
REGR_COUNT function, 475, 487
REGR_INTERCEPT function, 475, 487
REGR_R2 function, 475, 487
REGR_SLOPE function, 475, 487
REGR_SXX function, 475, 487
REGR_SXY function, 475, 487
REGR_SYY function, 475, 487
Relational Database Management Systems (RDBMSs), 2-9
relational databases, principles of, 2
RELEASE SAVEPOINT statement, 353-355
DB2, 355
keywords, 354
MySQL, 355
Oracle, 355
platform support for, 353
PostgreSQL, 355
programming tips, 355
quick reference, 60
rules, 354
SQL Server, 355
SQL2003 syntax, 354
RELEASE_LOCK function (MySQL), 545
RELTIME function (PostgreSQL), 575
REMAINDER function (Oracle), 560
REPEAT function
DB2, 530
MySQL, 545
RepeatableRead isolation level (Transaction object (ADO.NET)), 598
REPLACE function, 630
DB2, 530
MySQL, 545
Oracle, 561
SQL Server, 586
REPLICATE function
SQL Server, 586
reserved words, 17, 28
resources, freeing, 593
ResultSet methods (JDBC), 608
Get, 607
RETURN statement, 355-359
DB2, 356
keywords, 356
MySQL, 357
Oracle, 357
platform support for, 355
PostgreSQL, 358
programming tips, 356
quick reference, 60
rules, 356
SQL Server, 358
SQL2003 syntax, 356
REVERSE function
MySQL, 545
SQL Server, 586
REVOKE statement, 359-374
DB2, 362-366
keywords, 359-361
MySQL, 366-368
Oracle, 368-371
platform support for, 359
PostgreSQL, 371-372
programming tips, 361
quick reference, 60
rules, 361
SQL Server, 372-374
SQL2003 syntax, 359
RIGHT function
DB2, 531
MySQL, 545
SQL Server, 587
RIGHT [OUTER] JOIN, 335
ROLE_CONTAIN function, 630
ROLE_ID function, 631
ROLE_NAME function, 631
ROLLBACK statement, 374-378
DB2, 375
keywords, 375
MySQL, 376
Oracle, 376
platform support for, 374
PostgreSQL, 377
programming tips, 375
quick reference, 60
rules, 375
SQL Server, 377
SQL2003 syntax, 375
ROUND function
DB2, 531
MySQL, 545
Oracle, 561
PostgreSQL, 576
SQL Server, 587
row processing, 7
ROWCNT function, 631
ROWCOUNT_BIG( ) function, 631
SQL Server, 587
ROWID datatype
Oracle, 40
platform comparison, 33
ROWIDTOCHAR function (Oracle), 561
ROW_NUMBER function, 500
rows, filtering and comparison operators, 25
ROWVERSION datatype
platform comparison, 33
SQL Server, 47, 622
RPAD function
MySQL, 545
Oracle, 561
PostgreSQL, 576
RTRIM function
DB2, 531
MySQL, 545
Oracle, 561
PostgreSQL, 576
SQL Server, 587
S[ Top ]
sampling, 10
SAVEPOINT statement, 378-381
DB2, 379
keywords, 379
MySQL, 380
Oracle, 380
platform support for, 378
PostgreSQL, 380
programming tips, 379
quick reference, 60
rules, 379
SQL Server, 380
SQL2003 syntax, 379
scalar functions, 474, 501-523
built-in, 501
categories of, 501
scalar subqueries, 448
Scalar subquey in SELECT item list, 450
Scalar subquey in WHERE/HAVING clause, 450
schema addressing, 21
schemas, 4
SCN_TO_TIMESTAMP function (Oracle), 561
SECOND function
DB2, 531
MySQL, 545
SEC_TO_TIME function (MySQL), 545
SECURITYADMIN (SQL Server system role), 311
SELECT statement, 381-422
DB2, 396-397
examples, 8-9
GROUP BY clause, 388-394
HAVING clause, 394
keywords, 382-384
ALL, 382
AS, 382
DISTINCT, 382
FROM, 382
GROUP BY, 384
HAVING, 384
JOIN, 383
ORDER BY, 384
WHERE, 384
MySQL, 398-400
operators and, 17, 23
Oracle, 401-413
ORDER BY clause, 395
platform support for, 381
PostgreSQL, 413-416
programming tips, 395
quick reference, 60
rules, 384-395
SQL Server, 416-422
SQL2003 syntax, 381
SEQUEL (Structured English Query Language), 1
SERIAL datatype
platform comparison, 33
PostgreSQL, 44
SERIAL4 datatype
platform comparison, 33
PostgreSQL, 44
SERIAL8 datatype
platform comparison, 33
PostgreSQL, 44
Serializable isolation level (Transaction object (ADO.NET)), 598
SERVERADMIN (SQL Server system role), 311
SESSIONTIMEZONE function (Oracle), 561
SESSION_USER( ) function (MySQL), 547
SESSION_USER function, 631
SET CATALOG statement, quick reference, 60
SET COLLATION statement, quick reference, 60
SET CONNECTION statement, 426-428
DB2, 427
description, 426
keywords, 426
MySQL, 427
Oracle, 427
platform support for, 426
PostgreSQL, 427
programming tips, 427
quick reference, 60
rules, 427
SQL Server, 428
SQL2003 syntax, 426
SET CONSTRAINT statement, 428-429
DB2, 429
keywords, 429
MySQL, 429
Oracle, 429
platform support for, 428
PostgreSQL, 429
programming tips, 429
quick reference, 60
rules, 429
SQL Server, 429
SQL2003 syntax, 429
SET datatype
MySQL, 38
platform comparison, 33
SET DESCRIPTOR statement, quick reference, 60
SET function (Oracle), 561
set methods (JDBC PreparedStatement), 613
set operations, 7
SET PATH statement, 430-431
DB2, 430
keywords, 430
MySQL, 431
Oracle, 431
platform support for, 430
PostgreSQL, 431
programming tips, 430
rules, 430
SQL Server, 431
SQL2003 syntax, 430
SET ROLE statement, 431-433
DB2, 432
keywords, 431
MySQL, 432
Oracle, 432
platform support for, 431
PostgreSQL, 433
programming tips, 432
rules, 432
SQL Server, 433
SQL2003 syntax, 431
SET SCHEMA statement, 433-434
DB2, 434
keywords, 434
MySQL, 434
Oracle, 434
platform support for, 433
PostgreSQL, 434
programming tips, 434
rules, 434
SQL Server, 434
SQL2003 syntax, 433
SET SESSION AUTHORIZATION statement, 435-436
DB2, 435
keywords, 435
MySQL, 435
Oracle, 436
platform support for, 435
PostgreSQL, 436
programming tips, 435
rules, 435
SQL Server, 436
SQL2003 syntax, 435
SET statement, 422-426
DB2, 423
keywords, 423
MySQL, 424
Oracle, 425
platform support for, 422
PostgreSQL, 425
programming tips, 423
quick reference, 60
rules, 423
SQL Server, 426
SQL2003 syntax, 423
SET TIME ZONE statement, 436-438
DB2, 437
keywords, 436
MySQL, 437
Oracle, 437
platform support for, 436
PostgreSQL, 437
programming tips, 437
rules, 436
SQL Server, 438
SQL2003 syntax, 436
SET TRANSACTION statement, 438-443
DB2, 440
keywords, 438
MySQL, 440
Oracle, 441
platform support for, 438
PostgreSQL, 442
programming tips, 439
rules, 439
SQL Server, 443
SQL2003 syntax, 438
SET_MASKLEN function (PostgreSQL), 576
SETUPADMIN (SQL Server system role), 311
SHA function (MySQL), 545
SHA1 function (MySQL), 545
shared keywords, 635
SHOW_ROLE( ) function, 631
SHOW_SEC_SERVICES( ) function, 631
SIGN function
DB2, 531
MySQL, 546
Oracle, 562
SQL Server, 587
SIN function
DB2, 531
MySQL, 546
Oracle, 562
PostgreSQL, 576
SQL Server, 587
Single parameter object type (ADO.NET), 611
SINH function
DB2, 531
Oracle, 562
SMALLDATETIME datatype
platform comparison, 33
SQL Server, 47, 622
Sybase adaptive server, 622
SMALLINT datatype
DB2, 35
MySQL, 38
Oracle, 41
platform comparison, 33
PostgreSQL, 43
SQL Server, 47
SMALLINT function (DB2), 531
SMALLMONEY datatype
platform comparison, 33
SQL Server, 47
SOME operator, 25, 61-62
keywords, 61
platform differences, 62
platform support for, 61
programming tips, 62
quick reference, 59
rules, 61
SQL2003 syntax, 61
SORTKEY function, 631
SOUNDEX function
DB2, 531
MySQL, 546
Oracle, 562
SQL Server, 587
SPACE function
DB2, 531
MySQL, 546
SQL Server, 587
SQL command reference, quick reference, 58-60
SQL dialects, 14
SQL history and implementations, 1-15
SQL Server, 17
allowed characters in identifiers, 20
basics, 98-100
beginning identifier character, 20
BIGINT datatype, 621
BINARY datatype, 621
CALL statement, 66
CHAR( ) datatype, 621
CLOSE CURSOR statement, 67
COMMIT statement, 70
CONNECT statement, 73
connecting using JDBC, 597
CREATE/ALTER DATABASE statements, 95-103
ADD FILEGROUP, 97
ADD LOG, 97
ANSI_NULL_DEFAULT, 101
ANSI_NULLS, 101
ANSI_PADDING, 101
ANSI_WARNINGS, 102
ARITHABORT, 102
AUTO_CLOSE, 101
AUTO_CREATE_STATISTICS, 101
auto_option, 101
AUTO_SHRINK, 101
AUTO_UPDATE_STATISTICS, 101
COLLATE, 98
CONCAT_NULL_YIELDS_NULL, 102
CURSOR_CLOSE_ON_COMMIT, 101
CURSOR_DEFAULT, 101
FOR LOAD, 98
MODIFY FILE, 97
MODIFY FILEGROUP, 97
MODIFY NAME, 97
MULTI_USER, 100
NUMERIC_ROUNDABORT, 102
OFFLINE, 100
ON file_definition, 96
QUOTED_IDENTIFIER, 102
READ_ONLY, 100
RECOVERY, 102
RECURSIVE_TRIGGERS, 102
REMOVE FILE, 97
REMOVE FILEGROUP, 97
RESTRICTED_USER, 100
SET, 98
SINGLE_USER, 100
sql_options clause, 101
TORN_PAGE_DETECTION, 102
WITH, 98
CREATE/ALTER FUNCTION/PROCEDURE statements, 120-125
CREATE, 121
ENCRYPTION, 122
FOR REPLICATION, 122
@parameter datatype, 121
RECOMPILE, 122
RETURNS, 121
SCHEMABINDING, 122
WITH, 122
CREATE/ALTER INDEX statements, 139-140
ASC, 139
CLUSTERED, 139
DESC, 139
DROP_EXISTING, 139
FILLFACTOR, 139
IGNORE_DUP_KEY, 139
ON, 140
PAD_INDEX, 139
SORT_IN_TEMPDB, 140
STATISTICS_NORECOMPUTE, 139
WITH, 139
CREATE/ALTER METHOD statements, 144
CREATE/ALTER ROLE statements, 147
CREATE/ALTER SCHEMA statements, 149
CREATE/ALTER TABLE statements, 200-204
CHECK, 201
CHECK CONSTRAINT, 202
COLLATE, 202
DEFAULT, 201
ENABLE TRIGGER, 202
FOREIGN KEY, 201
IDENTITY, 200
NOT FOR REPLICATION, 200
PRIMARY KEY, 201
ROWGUIDCOL, 200
TEXTIMAGE_ON, 202
WITH CHECK, 202
CREATE/ALTER TRIGGER statements, 213-216
CREATE/ALTER TYPE statements, 230
CREATE/ALTER VIEW statements, 240-242
datatypes, 45-48
compared to Sybase adaptive server, 621-622
DATETIME datatype, 621
DECLARE CURSOR command, 249-252
DYNAMIC, 250
FAST_FORWARD, 250
FOR, 251
FOR UPDATE, 251
FORWARD_ONLY, 249
GLOBAL, 249
INSENSITIVE, 249
KEYSET, 250
LOCAL, 249
OPTIMISTIC, 250
READ_ONLY, 250
SCROLL, 249
SCROLL_LOCKS, 250
SQL-92 compatibility syntax, 251
STATIC, 250
Transact-SQL extensioned syntax, 251
TYPE_WARNING, 251
DELETE statement, 258-260
delimiters and operators, 27
DISCONNECT statement, 261
DROP statements, 274-276
DATABASE, 274
DEFAULT, 275
FUNCTION, 275
INDEX, 275
PROCEDURE, 275
RULE, 275
STATISTICS, 275
TABLE, 276
TRIGGER, 276
TYPE, 276
VIEW, 276
EXCEPT set operator, 281
FETCH statement, 289
functions, 579-589
ACOS, 579
APP_NAME, 579
ASCII, 579
ASIN, 579
ATAN, 579
ATN2, 580
BINARY_CHECKSUM, 580
CHAR, 580
CHARINDEX, 580
CHECKSUM, 580
CHECKSUM_AGG, 580
COALESCE, 580
COL_LENGTH, 580
COL_NAME, 580
CONTAINS, 580
CONTAINSTABLE, 581
CONVERT, 581
COS, 581
COT, 581
DATABASEPROPERTYEX, 581
DATALENGTH, 581
DATEADD, 581
DATEDIFF, 581
DATENAME, 581
DATEPART, 581
DAY, 581
DB_ID, 582
DB_NAME, 582
DEGREES, 582
DIFFERENCE, 582
FILEGROUP_ID, 582
FILEGROUP_NAME, 582
FILE_ID, 582
FILE_NAME, 582
FILEPROPERTY, 582
FORMATMESSAGE, 582
FREETEXT, 583
FREETEXTTABLE, 583
FULLTEXTCATALOGPROPERTY, 582
FULLTEXTSERVICEPROPERTY, 582
GETANSINULL, 583
GETDATE( ), 583
GETUTCDATE( ), 583
GROUPING, 583
HOST_ID( ), 583
HOST_NAME( ), 583
IDENT_CURRENT, 583
IDENT_INCR, 584
IDENTITY, 584
IDENT_SEED, 584
INDEX_COL, 584
INDEXPROPERTY, 584
ISDATE, 584
IS_MEMBER, 584
ISNULL, 584
ISNUMERIC, 584
IS_SRVROLEMEMBER, 584
LEFT, 585
LEN, 585
LOG, 585
LOG10, 585
LTRIM, 585
MONTH, 585
NCHAR, 585
NEWID( ), 585
NULLIF, 585
OBJECT_ID, 585
OBJECT_NAME, 585
OBJECTPROPERTY, 585
OPEN, 585
OPENDATASOURCE, 586
OPENQUERY, 586
OPENROWSET, 586
PARSENAME, 586
PATINDEX, 586
PERMISSIONS, 586
PI( ), 586
RADIANS, 586
RAND, 586
REPLACE, 586
REPLICATE, 586
REVERSE, 586
RIGHT, 587
ROUND, 587
ROWCOUNT_BIG, 587
RTRIM, 587
SIGN, 587
SIN, 587
SOUNDEX, 587
SPACE, 587
STATS_DATE, 587
STDEV, 587
STDEVP, 588
STR, 588
STUFF, 588
SUBSTRING, 588
SUSER_ID, 588
SUSER_SID, 588
SUSER_SNAME, 588
TAN, 588
TEXTPTR, 588
TEXTVALID, 588
TYPEPROPERTY, 589
UNICODE, 589
USER_ID, 589
USER_NAME, 589
VAR, 589
VARP, 589
YEAR, 589
GRANT statement, 309-313
identifier size, 20
INSERT statement, 324
INTERSECT set operator, 329
JOIN subclause, 339
keywords, 642
LIKE operator, 342
MERGE statement, 346
NCHAR( ) datatype, 622
nested triggers, 215
NTEXT datatype, 621
OPEN statement, 349
ORDER BY clause, 353
recursive triggers, 215
RELEASE SAVEPOINT statement, 355
reserved identifiers, 21
RETURN statement, 358
REVOKE statement, 372-374
ROLLBACK statement, 377
ROWVERSION datatype, 622
SAVEPOINT statement, 380
schema addressing, 21
SELECT statement, 416-422
COMPUTE clause, 421
FOR, 418
FROM, 416
GROUP BY, 417
INTO, 416
OPTION, 419
ORDER BY, 418
TOP, 416
SET CONNECTION statement, 428
SET CONSTRAINT statement, 429
SET PATH statement, 431
SET ROLE statement, 433
SET SCHEMA statement, 434
SET SESSION AUTHORIZATION statement, 436
SET statement, 426
SET TIME ZONE statement, 438
SET TRANSACTION statement, 443
SMALLDATETIME datatype, 622
SQL_VARIANT datatype, 622
START TRANSACTION statement, 447
stored procedures, 122, 124-125
SUBQUERY substatement, 452
system roles, 311-312
BULKADMIN, 311
DB_ACCESSADMIN, 312
DB_BACKUPOPERATOR, 312
DBCREATOR, 311
DB_DATAREADER, 312
DB_DATAWRITER, 312
DB_DDLADMIN, 312
DB_DENYDATAREADER, 312
DB_DENYDATAWRITER, 312
DB_OWNER, 312
DB_SECURITYADMIN, 312
DISKADMIN, 311
PROCESSADMIN, 311
SECURITYADMIN, 311
SERVERADMIN, 311
SETUPADMIN, 311
SYSADMIN, 311
TRUNCATE TABLE statement, 455
UDFs, 122-124
UNION set operator, 458
UNIQUEIDENTIFIER datatype, 622
UPDATE statement, 467-469
VARBINARY( ) datatype, 622
VARCHAR( ) datatype, 622
versus Sybase adaptive server, 622
functions, 627-632
web site, xii
WHERE clause, 472
SQL Standard web site, xii
SQL2003
allowed characters in identifiers, 20
beginning identifier character, 20
categories and datatypes, 30
data structures, 3
identifier size, 20
keywords, 635
new features, 10
numeric functions, 505-516
reserved identifiers, 20
schema addressing, 21
statement classes, 13
supplemental features packages, 11
window syntax, 492
SQL2003 keywords, 635
SQL2003 syntax
ALL operator, 61
ANY operator, 61
BETWEEN operator, 63
CALL statement, 64
CLOSE CURSOR statement, 66
COMMIT statement, 68
CONNECT statement, 71
CREATE/ALTER FUNCTION/PROCEDURE statements, 103
CREATE/ALTER METHOD statements, 141
CREATE/ALTER ROLE statements, 144
CREATE/ALTER SCHEMA statements, 147
CREATE/ALTER TABLE statements, 150
CREATE/ALTER TRIGGER statements, 204
CREATE/ALTER TYPE statements, 217
CREATE/ALTER VIEW statements, 231
DECLARE CURSOR command, 243
DELETE statement, 253
DISCONNECT statement, 260
DROP statements, 262
EXCEPT set operator, 277
EXISTS operator, 281
FETCH statement, 283
GRANT statement, 290
IN operator, 313
INSERT statement, 315
INTERSECT set operator, 326
IS operator, 330
JOIN subclause, 331
LIKE operator, 339
MERGE statement, 343
OPEN statement, 346
ORDER BY clause, 350
RELEASE SAVEPOINT statement, 354
RETURN statement, 356
REVOKE statement, 359
ROLLBACK statement, 375
SAVEPOINT statement, 379
SELECT statement, 381
SET CONNECTION statement, 426
SET CONSTRAINT statement, 429
SET PATH statement, 430
SET ROLE statement, 431
SET SCHEMA statement, 433
SET SESSION AUTHORIZATION statement, 435
SET statement, 423
SET TIME ZONE statement, 436
SET TRANSACTION statement, 438
SOME operator, 61
START TRANSACTION statement, 444
SUBQUERY substatement, 448
UNION set operator, 455
UPDATE statement, 460
WHERE clause, 469
SQL92, 11
SQL99, 10
deleted elements in SQL2003, 10
SQL/CLI (Call-Level Interface), 12
SqlConnection
connection string attributes for, 595
SQL/Foundation, 11
SQL/Framework, 11
SQL/JRT (Java Routines and Types), 12
SQL/MED (Management of External Data), 12
SQL/OBJ (Object Language Binding), 12
SQLPL, 15
SQL/PSM (Persistent Stored Modules), 12
SQL/Schemata, 12
SQL_VARIANT datatype
platform comparison, 33
SQL Server, 48, 622
SQL/XML, 11, 12
SQRT function, 515
standby databases (Oracle), 93
START TRANSACTION statement, 443-447
DB2, 445
MySQL, 445
Oracle, 446
platform support for, 443
PostgreSQL, 446
programming tips, 444
rules, 444
SQL Server, 447
SQL2003 syntax, 444
statement objects
associating SQL with, 592
creating, 592
executing, 592
statements
executing, 601-602
preparing and executing, 591
re-executing, 592
Sybase adaptive server SQL, 623
STATS_BINOMIAL_TEST function (Oracle), 562
STATS_DATE function, 631
SQL Server, 587
STD function (MySQL), 546
STDDEV function
DB2, 531
MySQL, 546
Oracle, 562
STDDEV_POP function, 475, 488
STDDEV_SAMP function, 475, 489
Oracle, 562
STDEV function, 631
SQL Server, 587
STDEVP function, 631
SQL Server, 588
STDEV_POP function (Oracle), 562
STOP LOGICAL STANDBY APPLY, 87
storage_clause (Oracle), 180
stored procedures
operators and, 17, 23
STR function (SQL Server), 588
STRCMP function (MySQL), 546
string functions and operators, 516-523
String parameter object type (ADO.NET), 611
StringFixedLength parameter object type (ADO.NET), 611
STUFF function (SQL Server), 588
SUBDATE function (MySQL), 537
subpartitioned tables
Oracle, 183-187
altering, 187-193
subqueries
correlated, 448
nested table, 448
scalar, 448
table, 448
SUBQUERY substatement, 447-452
DB2, 452
examples, 450
keywords, 449
MySQL, 452
Oracle, 452
platform support for, 447, 450
PostgreSQL, 452
programming tips, 450
rules, 449
SQL Server, 452
SQL2003 syntax, 448
SUBSTR function
DB2, 532
Oracle, 562
PostgreSQL, 576
SUBSTRB function (Oracle), 562
SUBSTRING function, 521
MySQL, 546
PostgreSQL, 576
SQL Server, 588
SUBSTRING_INDEX function (MySQL), 546
subtraction (-) arithmetic operator, 23
suffixes, 19
SUM function, 475, 476
SUSER_ID function, 631
SQL Server, 588
SUSER_NAME function, 632
SUSER_SID function, 631
SQL Server, 588
SUSER_SNAME function, 632
SQL Server, 588
Sybase Adaptive Server
BINARY datatype, 621
CHAR( ) datatype, 621
datatypes, 621
compared to SQL Server, 621-622
DATETIME datatype, 621
keywords, 633-634, 642
NCHAR( ) datatype, 621
NVARACHAR( ) datatype, 622
SMALLDATETIME datatype, 622
SQL statements, 623-627
statements, 622-627
supported functions, 627
TIMESTAMP datatype, 622
UNICHAR datatype, 622
UNIVARCHAR datatype, 622
VARBINARY( ) datatype, 622
VARCHAR( ) datatype, 622
versus SQL Server, 622
functions, 627-632
Sybase Adaptive Server keywords, 642
SYB_SENDMSG function, 632
SYSADMIN (SQL Server system role), 311
SYS_CONNECT_BY_PATH function (Oracle), 563
SYS_CONTEXT function (Oracle), 563
SYSDATE( ) function (MySQL), 543
SYSDATE function (Oracle), 564
SYS_DBURIGEN function (Oracle), 563
SYS_EXTRACT_UTC function (Oracle), 563
SYS_GUID( ) function (Oracle), 563
system delimiters, 26
SYSTEM_USER( ) function (MySQL), 547
SYSTEM_USER function, 632
SYSTIMESTAMP function (Oracle), 564
SYS_TYPEID function (Oracle), 563
SYS_XMLAGG function (Oracle), 563
SYS_XMLGEN function (Oracle), 563
T[ Top ]
TABLE datatype
platform comparison, 33
SQL Server, 48
table subqueries, 448
nested, 448
table-level constraints, 49
TABLE_NAME function (DB2), 532
tables, 4
TABLESAMPLE clause, 10
TABLE_SCHEMA function (DB2), 532
TAN function
DB2, 532
MySQL, 546
Oracle, 564
PostgreSQL, 576
SQL Server, 588
TANH function
DB2, 532
Oracle, 564
testing expressions against range of values, 63
TEXT datatype
MySQL, 38
platform comparison, 33
PostgreSQL, 45
SQL Server, 48
TEXT function (PostgreSQL), 576
TEXTPTR function (SQL Server), 588
TEXTVALID function (SQL Server), 588
TIME datatype
DB2, 35
platform comparison, 33
PostgreSQL, 45
TIME function (DB2), 532
TIME_FORMAT function (MySQL), 547
TIMESPAN datatype
platform comparison, 33
PostgreSQL, 45
TIMESTAMP datatype
DB2, 35
Oracle, 41
platform comparison, 33
PostgreSQL, 45
SQL Server, 48
Sybase adaptive server, 622
TIMESTAMP function
DB2, 532
PostgreSQL, 576
TIMESTAMPDIFF function (DB2), 533
TIMESTAMP_FORMAT function (DB2), 532
TIMESTAMP_ISO function (DB2), 532
TIMESTAMP_TO_SCN function (Oracle), 564
TIME_TO_SEC function (MySQL), 547
TIMETZ datatype
platform comparison, 33
PostgreSQL, 45
TINYINT datatype
platform comparison, 33
SQL Server, 48
TO_BINARY_DOUBLE function (Oracle), 564
TO_BINARY_FLOAT function (Oracle), 564
TO_CHAR function
DB2, 533
Oracle, 564
PostgreSQL, 576
TO_CLOB function (Oracle), 566
TO_DATE function
DB2, 533
Oracle, 566
PostgreSQL, 576
TO_DAYS function (MySQL), 547
TO_DSINTERVAL function (Oracle), 567
TO_LOB function (Oracle), 567
TO_MULTI_BYTE function (Oracle), 567
TO_NCHAR function (Oracle), 567
TO_NCLOB function (Oracle), 567
TO_NUMBER function
Oracle, 567
PostgreSQL, 578
TO_SINGLE_BYTE function (Oracle), 567
TO_TIMESTAMP function
Oracle, 567
PostgreSQL, 579
TO_TIMESTAMP_TZ function (Oracle), 567
TO_UNICHAR function, 632
TO_YMINTERVAL function (Oracle), 568
Transaction object
ADO.NET, 598
JDBC, 599
TRANSACTION_NONE isolation level (Transaction object (JDBC)), 599
TRANSACTION_READ_COMMITTED isolation level (Transaction object (JDBC)), 599
TRANSACTION_READ_UNCOMMITTED isolation level (Transaction object (JDBC)), 599
TRANSACTION_REPEATABLE_READ isolation level (Transaction object (JDBC)), 599
transactions
beginning, 592, 597-600
ADO.NET, 598
JDBC, 599
closing and making permanent, 68
committing, 600
ending, 593
explicit, 69
implicit, 69
managing, 597-601
rolling back, 600
TRANSACTION_SERIALIZABLE isolation level (Transaction object (JDBC)), 599
Transact-SQL, 14
TRANSLATE function, 518
DB2, 533
Oracle, 568
PostgreSQL, 579
TREAT function (Oracle), 568
TRIM function, 522
TRUNC function
DB2, 533
Oracle, 568
PostgreSQL, 579
TRUNCATE function
DB2, 533
MySQL, 547
TRUNCATE TABLE statement, 453-455
DB2, 454
defacto standard syntax, 453
keywords, 453
MySQL, 454
Oracle, 454
platform support for, 453
PostgreSQL, 455
programming tips, 453
rules, 453
SQL Server, 455
TSEQUEL function, 632
Twelve Principles of Relational Databases, 2
TYPE_ID function (DB2), 533
TYPE_NAME function (DB2), 533
TYPEPROPERTY function, 632
SQL Server, 589
TYPE_SCHEMA function (DB2), 534
TZ_OFFSET function (Oracle), 568
U[ Top ]
UCASE function (MySQL), 547
UHIGHSURR function, 632
UID function (Oracle), 568
UInt parameter object type (ADO.NET), 611
ULOWSURR function, 632
unary operators, 23, 25
UNCOMPRESS function (MySQL), 547
UNHEX function (MySQL), 547
UNICHAR datatype (Sybase adaptive server), 622
UNICODE function, 632
SQL Server, 589
UNION set operator, 455-459
DB2, 456
keywords, 455
MySQL, 457
Oracle, 457
platform support for, 455
PostgreSQL, 458
programming tips, 456
rules, 456
SQL Server, 458
SQL2003 syntax, 455
UNIQUE constraints, 54
UNIQUEIDENTIFIER datatype
platform comparison, 33
SQL Server, 48, 622
UNISTR function (Oracle), 569
UNIVARCHAR datatype (Sybase adaptive server), 622
UNIX_TIMESTAMP function (MySQL), 547
Unspecified isolation level (Transaction object (ADO.NET)), 598
UPDATE statement, 459-469
DB2, 462-463
keywords, 460
MySQL, 464
operators and, 17, 23
Oracle, 464-466
platform support for, 459
PostgreSQL, 466
programming tips, 462
rules, 461
SQL Server, 467-469
SQL2003 syntax, 460
UPDATEXML function (Oracle), 569
UPPER function, 520
URLs
MySQL, xi
open source, vii
Oracle, xii
PostgreSQL, xii
SQL Server, xii
UROWID datatype
Oracle, 41
platform comparison, 33
USCALAR function, 632
user, 5
USER( ) function (MySQL), 547
USERENV function (Oracle), 569
USER_ID function (SQL Server), 589
USER_NAME function (SQL Server), 589
V[ Top ]
VALID_NAME function, 632
VALID_USER function, 632
VALUE function
DB2, 534
Oracle, 569
VAR function, 632
DB2, 534
SQL Server, 589
VARBINARY( ) datatype
SQL Server, 622
Sybase adaptive server, 622
VARBINARY datatype
platform comparison, 33
SQL Server, 48
VARBIT datatype
platform comparison, 31
VARCHAR( ) datatype
SQL Server, 622
Sybase adaptive server, 622
VARCHAR datatype
DB2, 35
MySQL, 38
Oracle, 41
platform comparison, 33
PostgreSQL, 45
SQL Server, 48
VARCHAR FOR BIT DATA datatype
DB2, 35
platform comparison, 33
VARCHAR function
DB2, 534
PostgreSQL, 579
VARCHAR2 datatype
Oracle, 41
platform comparison, 33
VARCHAR_FORMAT function (DB2), 534
VARGRAPHIC datatype
DB2, 35
platform comparison, 33
VARGRAPHIC function (DB2), 534
VARIANCE function
DB2, 534
Oracle, 569
VARP function, 632
SQL Server, 589
VAR_POP function, 475, 490
Oracle, 569
VAR_SAMP function, 475, 491
Oracle, 569
Vector subquery in WHERE/HAVING clause, 450
VERSION( ) function (MySQL), 547
views, 4, 7
operators and, 17, 23
VSIZE function (Oracle), 569
W[ Top ]
WEEK function
DB2, 535
MySQL, 547
WEEKDAY function (MySQL), 548
WEEK_ISO function (DB2), 535
WHERE clause, 384, 387-388, 469-472
DB2, 472
keywords, 469
MySQL, 472
Oracle, 472
platform support for, 469
PostgreSQL, 472
programming tips, 471
rules, 469
SQL Server, 472
SQL2003 syntax, 469
WHERE clause (SELECT statement)
comparison operators and, 25
logical operators and, 25
WIDTH function (PostgreSQL), 579
WIDTH_BUCKET function, 515
window functions, 474, 492-501
DB2 syntax, 493
group clause, 495
Oracle syntax, 493
ordering clause, 495
partitioning clause, 494
SQL2003 syntax, 492
windowing functions, 10
WITH[OUT] SESSION SHUTDOWN, 87
X[ Top ]
Xbase, 7
XML datatype
Oracle, 41
platform comparison, 33
XML schema
tables based on, 195
XMLAGG function (Oracle), 570
XMLCOLATTVAL function (Oracle), 570
XMLCONCAT function (Oracle), 570
XMLELEMENT function (Oracle), 570
XMLFOREST function (Oracle), 570
XMLSEQUENCE function (Oracle), 570
XMLTRANSFORM function (Oracle), 570
Y[ Top ]
YEAR function, 632
DB2, 535
MySQL, 548
SQL Server, 589
YEARWEEK function (MySQL), 548
Zurück zu SQL in a Nutshell