Oracle Transparent Gateway Microsoft SQL Server Administrator's Guide
Release 8.1.6 for Windows NT

Part Number A82868-01

Library

Contents

Index

Go to previous page Go to next page

A
Supported SQL Syntax and Functions

This appendix contains the following sections:.

Supported SQL Statements

With a few exceptions, the gateway provides full support for Oracle DELETE, INSERT, SELECT, and UPDATE statements.

The gateway does not support Oracle Data Definition Language (DDL) statements. No form of the Oracle ALTER, CREATE, DROP, GRANT, or TRUNCATE statements can be used. Instead, use the pass-through feature of the gateway if you need to use DDL statements against the Microsoft SQL Server database.

See Also:

"Using the Pass-Through Feature" and Oracle8i SQL Reference for a detailed descriptions of keywords, parameters, and options. 

DELETE

The DELETE statement is fully supported. However, only Oracle functions supported by Microsoft SQL Server can be used.

See Also:

"Functions Supported by Microsoft SQL Server" for a list of supported functions. 

INSERT

The INSERT statement is fully supported. However, only Oracle functions supported by Microsoft SQL Server can be used.

See Also:

"Functions Supported by Microsoft SQL Server" for a list of supported functions. 

SELECT

The SELECT statement is fully supported with these exceptions:

UPDATE

The UPDATE statement is fully supported. However, only Oracle functions supported by Microsoft SQL Server can be used.

See Also:

"Functions Supported by Microsoft SQL Server" for a list of supported functions. 

Oracle Functions

All functions are evaluated by the Microsoft SQL Server database after the gateway has converted them to Microsoft SQL Server equivalents. The exception is the TO_DATE function, which is evaluated by the gateway.

Functions Not Supported by Microsoft SQL Server

Oracle SQL functions with no equivalent function in Microsoft SQL Server are not supported in DELETE, INSERT, or UPDATE statements, but are evaluated by the Oracle database server if the statement is a SELECT statement. That is, the Oracle database server performs post-processing of SELECT statements sent to the gateway.

If an unsupported function is used in a DELETE, INSERT, or UPDATE, statement, the following Oracle error occurs:

ORA-02070: database db_link_name does not support function in this context

Functions Supported by Microsoft SQL Server

The gateway translates the following Oracle database server functions in SQL statements to their equivalent Microsoft SQL Server functions:

Arithmetic Operators

Oracle  Microsoft SQL Server 

Comparison Operators

Oracle  Microsoft SQL Server 

>= 

>= 

<= 

<= 

<>, !=, ^= 

<> 

IS NOT NULL 

IS NOT NULL 

IS NULL 

IS NULL 

Pattern Matching

Oracle  Microsoft SQL Server 

LIKE 

LIKE 

NOT LIKE 

NOT LIKE 

String Functions

Oracle  Microsoft SQL Server 

||, CONCAT 

+ (expression1 + expression2

ASCII 

ASCII 

CHR 

CHAR 

INSTR (with 2 arguments) 

CHARINDEX 

LENGTH 

DATALENGTH 

LOWER 

LOWER 

SUBSTR (second argument cannot be a negative number) 

SUBSTRING 

UPPER 

UPPER 

Group Functions

Oracle  Microsoft SQL Server 

AVG 

AVG 

COUNT 

COUNT 

MAX 

MAX 

MIN 

MIN 

SUM 

SUM 

Other Functions

Oracle  Microsoft SQL Server 

ABS 

ABS 

CEIL 

CEILING 

COS 

COS 

EXP 

EXP 

FLOOR 

FLOOR 

LN 

LOG 

LOG 

LOG10 

MOD 

NOT NVL 

IS NOT NULL 

NVL 

IS NULL 

POWER 

POWER 

ROUND 

ROUND  

SIN 

SIN 

SQRT 

SQRT 

TAN 

TAN 

Functions Supported by the Gateway

If an Oracle function has no equivalent function in Microsoft SQL Server, the Oracle function is not translated into the SQL statement and must be post-processed if the SQL statement is a SELECT.

The gateway, however, does support the TO_DATE function equivalent in Microsoft SQL Server, as follows:

TO_DATE(date_string | date_column)

where:

date_string is converted to a string with the following format:

yyyy-mm-dd hh:mi:ss.fff


Recommendation:

Supply the date string with the same format as the result (that is, yyyy-mm-dd hh:mi:ss.fff). 


date_column is a column with a date data type. It is converted to a parameter with a timestamp data type.


Go to previous page Go to next page
Oracle
Copyright © 2001 Oracle Corporation.

All Rights Reserved.

Library

Contents

Index