Skip to main content
Version: 10.1

ODBC SQL syntax

This section lists ODBC SQL syntax supported by USoft applications.

Queries and manipulations

SELECT     ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY ...
SELECT     ...
UNION
SELECT ...

(if supported:)

SELECT     ...
FROM ...
WHERE ...
FOR UPDATE OF *columns*
INSERT INTO  ...
VALUES ( ... )
INSERT INTO  ...
SELECT ...
UPDATE       ...
SET *column* = *expression*
, ...
WHERE ...
DELETE FROM  ...
WHERE ...

Authorisation

GRANT       { ALL | SELECT | INSERT | UPDATE { *columns* | } | DELETE }
ON ...
TO ...
REVOKE      { ALL | SELECT | INSERT | UPDATE { *columns* | } | DELETE }
ON ...
FROM

Data definition

CREATE TABLE   *table*
( *column**data-type* { NULL | NOT NULL }
, ...
)
DROP TABLE      *table*
CREATE { UNIQUE | } INDEX  *index*
ON column { ASC | DESC | }
[, ... ]
DROP INDEX  *index*
CREATE VIEW    *view*
( *column**data-type* { NULL | NOT NULL }
, ...
)
AS SELECT ...
DROP VIEW      *view*

(If supported:)

ALTER TABLE   *table*
...
RENAME        *table*
{ TO | } ...

ODBC has no prescribed syntax for renaming a table. Most RDBMSs however are capable of renaming a table. To make optimal use of the RDBMS capabilities, USoft uses the above ALTER / RENAME TABLE syntax formats when creating application tables and "remembers" which syntax format succeeded, so it will be used from then on. When none of the above syntax's are available, a new (changed) table is created and the old table data inserted, then the old table is dropped.