CREATE VIRTUALTABLE

From Lianjapedia
Revision as of 08:53, 3 April 2013 by Yvonne.milne (Talk | contribs)

Jump to: navigation, search

Purpose

Creates a virtual table

Syntax

CREATE VIRTUALTABLE [<database>!]<virtualtable>

[IF NOT EXISTS]

[ALIAS <name>]

CONNSTR <odbc_dsn_string>

[TABLE <basetable>]

[PRIMARYKEY <column>]

[PROPERTIES <properties_string>]

AS <select statement>

See Also

ADD TABLE, ALTER INDEX, ALTER TABLE, ALTER VIRTUALTABLE, COPY DATABASE, CONSTRAINTS, CREATE DATABASE, CREATE TABLE, CursorAdapter, CURSORADAPTER(), DATA TYPES, DROP DATABASE, DROP TABLE, GETENV(), INSERT, OPEN DATABASE, SELECT, SET XMLFORMAT, USE

Description

The CREATE VIRTUALTABLE command creates a new virtual table in the current database. Virtual tables exist in the database and are handled by CursorAdapters allowing remote/external ODBC data based on SQL SELECT statements to be treated as regular Lianja tables. Any code that references these tables e.g. USE <virtualtable> connects via the CursorAdapter and retrieves the data. Updates and deletes are handled transparently via the CursorAdapter. All CursorAdapters automatically use ODBC connection pooling against the same ODBC DSN to maximize performance.

Keywords Description
[database] The name of the database in which the virtual table should be created. The '!' character must be included between the database name and the virtual table name.
<virtualtable> The name of the virtual table to be created.
[IF NOT EXISTS] The virtual table is only created if it does not already exist. An error occurs if the virtual table already exists and the IF NOT EXISTS clause is not specified.
[ALIAS <name>] The optional alias name for the virtual table.
CONNSTR <odbc_dsn_string> The ODBC connection string.
TABLE <basetable> The <basetable> defines the base table in the remote database which, in the case of MSSQL using schemas, can be 'schema.tablename' and is used for INSERT, SELECT, UPDATE, and DELETE.
PRIMARYKEY <column> The PRIMARYKEY <column>, if specified, will be used to update data e.g. WHERE <column> = value
PROPERTIES <properties_string> The <properties_string> is a ; separated list of name=value pairs corresponding to cursoradaptor properties. This therefore allows you to switch databases in the connection string.
AS <select statement> The SQL SELECT statement.

Example

open database advworks
create virtualtable scurr connstr "awhr" as select * from sales.currency