联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
11.2 关键字
更新时间:11/25/2024, 7:02:59 AM

在 ArgoDB 的 SQL 语法中,有特殊意义的词叫做关键词。关键词由保留关键词和非保留关键词组成。

  • 保留关键词:属于关键词,而且不能用于命名任何实体或者对象,例如(但不仅限于)列,表,数据库,分区,函数,游标,数据库连接,(除了表以外的)别名。

    保留关键词使用方法(不推荐):

    create table `begin`.`and`(`as` int);
    复制

    其中 begin,and,as 都是保留关键词。

  • 非保留关键词:虽然是关键词,但是可以用于命名大部分实体或者对象,例如(但不仅限于)列,表,数据库,分区,函数,游标,数据库连接,(除了表以外的)别名。但是部分实体命名也不能使用非保留关键词,详见非保留关键词的受限范围

保留关键词

ArgoDB 支持 Oracle、DB2、Teradata 方言。在不同的方言下,保留关键词有所不同。

A ~ D
表 39. 保留关键词方言列表 A ~ D
保留关键字 Oracle Db2 Teradata

ADD

ALL

ALLOCATE

AND

ANTISEMI

ANY

APPEND

APPPROPERTIES

AS

ASSOCIATE

ATOMIC

AUDIT

AUTONOMOUS

AUTONOMOUS_TRANSACTION

BATCHINSERT

BATCHUPDATE

BATCHVALUES

BEGIN

BETWEEN

BFILE

BITMAP

BLACKLIST

BLOB

BOTH

BREAK

BULK

BY

CALL

CALLED

CASE

CAST

CHAR

CLOB

CLOSE

CLUSTER

COLLECT

COLUMN

COLUMN_ALIAS_LIST

COLUMN_LIST

COMMENT

COMMIT

COMMITTED

COMPACTIONS

CONNECT

CONTAINS

CONTINUE

CREATE

CREATE_PROC

CROSS

CUBE

CURRENT

CURRENT_TIMESTAMP

CURSOR

DATABASE

DATADEBUG

DB2_RETURN_STATUS

DB2_SQL_NESTING_LEVEL

DB2_TOKEN_STRING

DEC

DECIMAL64

DECLARE

DEFINITION

DESC_PROC

DETERMINISTIC

DIAGNOSTICS

DISTINCT

DO

DOCVALUES

DROP

DROP_PROC

DYNAMIC

E ~ Q
表 40. 保留关键词方言列表 E ~ Q
保留关键字 Oracle Db2 Teradata

ELSE

ELSEIF

ELSIF

END

ERRORS

ESCAPE

EXCEL

EXCEPT

EXCEPTION

EXCEPTION_INIT

EXCHANGE

EXCLUDE

EXECUTE

EXEC_PROC

EXIT

EXTENDED

EXTRACT

FOLLOWING

FOR

FORALL

FOUND

FROM

FUNCTION

GET

GOTO

GRANT

GROUP

HANDLER

HAS

HAVING

IDENTIFIED

IF

IMMEDIATE

IN

INCLUDE

INCLUDE_NULLS

INHERIT

INITIAL

INITRANS

INOUT

INSERT

INTERSECT

INTO

IS

ISOLATION

ITERATE

JOBPROPERTIES

JOIN

KEYEDBY

LEADING

LEAVE

LESS

LIKE

LINK

LOCATOR

LOCATORS

LOCK

LONG

LOOP

MACRO

MAP

MATCHED

MAXEXTENTS

MAXTRANS

MAXVALUE

MESSAGE_TEXT

MINEXTENTS

MODIFIES

MORE

NATURAL

NOAUDIT

NONE

NOT

NO_REWRITE

NULL

NUMBER

NUMERIC

NVARCHAR

OF

OFF

OFFSET

ON

OPEN

OR

ORDER

OVER

PARTIALSCAN

PARTPROPERTIES

PCTFREE

PCTUSED

PLSQL

PRAGMA

PRECEDING

PREPARE

PRESERVE

QUALIFY

R ~ Y
表 41. 保留关键词方言列表 R ~ Y
保留关键字 Oracle Db2 Teradata

RAISE

RECORD

RECORDS

REDUCE

REJECT

RENAME

REPLICATION

RESIGNAL

RESULT_SET_LOCATOR

RETURN

RETURN_STATUS

REVOKE

REWRITE

ROLLBACK

ROLLUP

ROW

ROWTYPE

ROW_COUNT

SAVEPOINT

SECONDARY

SELECT

SERIALIZABLE

SERIALLY_REUSABLE

SESSION

SESSIONWINDOW

SET

SPECIAL

SPECIFIC

SQLEXCEPTION

SQLWARNING

START

STORAGE

STREAMS

SUBSTRING

SYSDATE

SYSTIME

SYSTIMESTAMP

TABLE

TABLESAMPLE

TABLESPACE

TAILING

THAN

THEN

TO

TRANSFORM

TRIGGER

UNBOUNDED

UNION

UNIQUE

UNIQUEJOIN

UNLIMITED

UNPIVOT_COLUMN

UNTIL

UPDATE

USER

USE_SNAPSHOT

VALUES

VALUE_COLUMNS

VARCHAR

VARCHAR2

VARYING

VIEW

VIEWS

WHEN

WHERE

WIDCARD

WINDOW

WITH

WITHOUT

YES

RUNTIME

非保留关键词

非保留关键词的受限范围

非保留关键词不能用于以下场景

非保留关键词不能用之处,保留关键词必定不能用

  • 表和子查询的别名

    -- "log" 是非保留关键词,只有作为表的别名时候不能使用它。
    select log log from log log where log = 1;
    复制
  • with as 的表名

    -- “int” 是非保留关键词。第一个“int” 是 with as 的表名,即使是非保留关键词也不能使用,但是后面的“int” 是表名,此处可以使用非保留关键词。
    with int as (select * from system.dual) select * from int;
    复制
  • plsql 自定义类型

    -- “int” 处不能使用非保留关键词。
    type int is
    复制
  • package 名

    -- 第一个“int” 是数据库名,可以用非保留关键词,第二个“int” 是package 名,不能使用非保留关键词。
    create or replace package int.int is
    pv int
    procedure pbf_increase(i out nocopy int, dummy nocopy date)
    end;
    复制
  • plsql goto label

    goto int
    复制
  • 窗口函数over后面的描述

    SELECT *, Row_Number() over int FROM employee;
    复制

非保留关键字列表

ArgoDB 支持 Oracle、DB2、Teradata 方言。在不同的方言下,非保留关键词有所不同。

A ~ D
表 42. 非保留关键词方言列表 A ~ D
非保留关键字 Oracle Db2 Teradata

ACTION

ADHOC

ADMIN

AFTER

ALTER

ANALYZE

ANALYZER

ANCHOR

APP

APPLICATION

APPLICATIONS

APPS

ARCHIVE

ARRAY

ASC

ASCII

AT

ATTACH

BACKUP

BEFORE

BIGINT

BINARY

BODY

BOOLEAN

BUCKET

BUCKETS

BULK_EXCEPTIONS

BULK_ROWCOUNT

BYTE

BYTEINT

CACHE

CACHEDMETRIC

CACHEDMETRICS

CALLER

CAPACITY

CASCADE

CASESPECIFIC

CBO

CCSID

CHANGE

CHARACTER

CHECK

CLIENT

CLUSTERED

CLUSTERSTATUS

COLLECTION

COLUMNS

COMBINE

COMPACT

COMPLETE

COMPRESS

COMPUTE

CONCATENATE

CONDITION

CONF

CONSTANT

CONSTRAINT

COST

COUNT_OPTIMIZED

CS

CSVFILE

CURRVAL

CUSTOM

CYCLE

DATA

DATABASES

DATE

DATETIME

DAY

DAYS

DBLINK

DBLINKPROPERTIES

DBLINK_CQ

DBPROPERTIES

DECIMAL

DEFAULT

DEFERRED

DEFINED

DELAY

DELETE

DELIMITED

DEPENDENCY

DESC

DESCRIBE

DETTACH

DIMENSION

DIRECTORIES

DIRECTORY

DISABLE

DISCARD

DISTRIBUTE

DOCSTORE

DOUBLE

DOWNGRADE

DUPLICATE

E ~ N
表 43. 非保留关键词方言列表 E ~ N
非保留关键字 Oracle Db2 Teradata

EMIT

ENABLE

ES

ESCAPED

EVALUATIONCONTEXT

EXCEPTIONS

EXCLUSIVE

EXISTS

EXIT

EXPIRE

EXPLAIN

EXPORT

EXTERNAL

FACL

FACT

FALSE

FETCH

FIELDS

FILE

FILEFORMAT

FIRST

FLASHBACK

FLOAT

FOLLOWEDBY

FOREIGN

FORMAT

FORMATTED

FOUND

FULL

FULLTEXT

FUNCTIONCONTEXT

FUNCTIONS

FWCFILE

GEO

GLKJOIN

GLKMERGE

GLOBAL

GRAPHIC

GROUPING

HASH

HELP

HOLD

HOLD_DDLTIME

HOLODESK

HOUR

HOURS

HYPER2DRIVE

HYPERDRIVE

IDXPROPERTIES

IGNORE

IMPORT

INCREMENT

INDEX

INDEXES

INDICES

INFINITE

INIT

INNER

INPATH

INPUT

INPUTDRIVER

INPUTFORMAT

INT

INTEGER

INTERVAL

ISOPEN

ITEMS

JAR

JSON

KEY

KEYS

KUNDB

LANGUAGE

LAST

LATERAL

LEFT

LENGTH

LEVEL

LIMIT

LINES

LINKS

LIST

LOAD

LOCAL

LOCALPARALLELISM

LOCATION

LOCKS

LOG

LOGICAL

LOOKUP

MAPJOIN

MATERIALIZED

MEET

MERGE

MERGEJOIN

METRIC

METRICGROUP

METRICGROUPS

METRICPROPERTIES

METRICS

METRICSOURCE

METRICSOURCES

MINUS

MINUTE

MINUTES

MINVALUE

MOD

MODE

MONTH

MONTHS

MSCK

MULTISET

MUST

MUSTNOT

NAMED

NEW

NEXT

NEXTVAL

NF

NO

NOCACHE

NOCOPY

NOCYCLE

NOMAXVALUE

NOMINVALUE

NON_CORRELATED

NOORDER

NORELY

NORMAL

NOSCAN

NOTFOLLOWEDBY

NOTFOUND

NOTNEXT

NOVALIDATE

NO_DROP

NO_INDEX

NULLS

NUM

NUMBER

O ~ R
表 44. 非保留关键词方言列表 O ~ R
非保留关键字 Oracle Db2 Teradata

OFFLINE

OLD

ONLY

OPTION

OP_CONCAT

ORC

ORC_TRANSACTION

ORDERBY_RANGE

OUT

OUTER

OUTPUTDRIVER

OUTPUTFORMAT

OVERWRITE

OWNER

PACKAGE

PACKAGES

PARAMETER

PARQUET

PARTIAL_UPDATE

PARTITION

PARTITIONED

PARTITIONS

PATTERN

PERCENT

PERMANENT

PERMISSION

PLANT

PLUS

POLICIES

POLICY

POLICYKEY

POLICYPROPERTIES

POLICYRULE

PRECOMPILE

PRETTY

PRIMARY

PRINCIPALS

PRINT

PRIOR

PRIORITY

PROCEDURE

PROMPT

PROTECTION

PUBLIC

PURGE

QUALIFY

QUIT

QUOTA

RANGE

RCFILE

READ

READONLY

READS

REAL

REBUILD

RECORDREADER

RECORDWRITER

REF

REFERENCES

REFRESH

REGEXP

REGISTERS

RELOAD

RELY

REMOVE

REPAIR

REPEAT

REPLACE

RESET

RESOURCE

RESPECT

RESTORE

RESTRICT

RESULT

RETURNS

REVERSE

REVERSION

RIGHT

RLIKE

ROLE

ROLES

ROUTED

ROWCOUNT

ROWS

RULE

RULEFUNCTION

RULEFUNCTIONPROPERTIES

RULEFUNCTIONS

RULEPROPERTIES

RULES

RULESET

RULESETS

S ~ Y
表 45. 非保留关键词方言列表 S ~ Y
非保留关键字 Oracle Db2 Teradata

SAVE

SCHEDULER

SCHEMA

SCHEMAS

SCOPE

SEARCH

SECOND

SECONDS

SEGMENT

SEMI

SEPARATED

SEQUENCE

SEQUENCEFILE

SEQUENCES

SERDE

SERDEPROPERTIES

SERVER

SESSION

SESSIONEND

SET

SETPROPERTIES

SETS

SHARD

SHARED

SHOW

SHOW_DATABASE

SIGNAL

SKEWED

SKEWJOIN

SLIDE

SMALLINT

SNAPSHOT

SORT

SORTED

SOURCECONTEXT

SPACE

SPOOL

SQL

SQLSTATE

SSL

STARGATE

STARGATEDB

STATEMENT

STATISTICS

STELLARDB

STOP

STORAGE_POLICY

STORED

STRAIGHT_JOIN

STREAM

STREAMJOB

STREAMJOBS

STREAMTABLE

STREAMWINDOW

STRING

STRUCT

STRUCT_INDEX

SYNC

SYSDATE

TABLEID

TABLES

TABLESIZE

TABLET

TBLPROPERTIES

TD_UNPIVOT

TEMPORARY

TERMINATED

TEXTFILE

TIES

TIME

TIMELYRE

TIMES

TIMESTAMP

TINYINT

TITLE

TOP

TOUCH

TRANSACTION

TRANSACTIONS

TRIM

TRUE

TRUNCATE

TTL

TYPE

UC

UNARCHIVE

UNDO

UNICODE

UNIONTYPE

UNLOCK

UNSET

UNSIGNED

UNUSABLE

UPGRADE

UPPERCASE

UPSERT

URI

USE

USE_BULKLOAD

USE_DELETE_MARK

USE_INDEX

USING

UTC

UTC_TMESSTAMP

VALIDATE

VALUE

VALUES

VARGRAPHIC

VARRAY

VOLATILE

WAIT

WHILE

WITHIN

WORK

WRITE

YEAR

YEARS