CREATE EXISTING TABLE statement

Description

Creates a new proxy table representing an existing object on a remote server.

Syntax

CREATE EXISTING TABLE [owner.]table_name 
[(column-definition, ...)] 
AT 'location-string' 

Parameters

column-definition:

column-name data-type [NOT NULL]

location-string:

remote-server-name.[db-name].[owner].object-name | remote-server-name;[db-name];[owner];object-name

Examples

Example 1

Usage

CREATE EXISTING TABLE is a variant of the CREATE TABLE statement. The EXISTING keyword is used with CREATE TABLE to specify that a table already exists remotely and that its metadata is to be imported into Sybase IQ. This establishes the remote table as a visible entity to its users. Sybase IQ verifies that the table exists at the external location before it creates the table.

Tables used as proxy tables cannot have names longer than 30 characters.

If the object does not exist (either host data file or remote server object), the statement is rejected with an error message.

Index information from the host data file or remote server table is extracted and used to create rows for the system table sysindexes. This defines indexes and keys in server terms and enables the query optimizer to consider any indexes that might exist on this table.

Referential constraints are passed to the remote location when appropriate.

If column definitions are not specified, Sybase IQ derives the column list from the metadata it obtains from the remote table. If column definitions are specified, Sybase IQ verifies the column definitions. Column names, data types, lengths, and null properties are checked for the following:


Side effects

Automatic commit.

Standards

Permissions

Must have RESOURCE authority. To create a table for another user, you must have DBA authority.

See also

CREATE TABLE statement

Chapter 17, “Server Classes for Remote Data Access,” and Chapter 16, “Accessing Remote Data,” in the Sybase IQ System Administration Guide.