SQL 命名规则 - AWS Clean Rooms

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SQL 命名规则

以下各节说明了 AWS Clean Rooms 中的 SQL 命名规则。

配置表关联名称和列

可以查询的成员使用配置表关联名称作为查询中的表名。配置表关联名称和配置表列可以在查询中使用别名。

以下命名规则适用于配置表关联名称、配置表的列名和别名:

  • 它们只能使用字母数字、下划线 (_) 或连字符 (-),但不能以连字符开头或结尾。

    • 仅限自定义分析规则)它们可以使用美元符号 ($),但不能使用后跟用美元括起来的字符串常量的模式。

      用美元括起来的字符串常量包括:

      • 一个美元符号 ($)

      • 零个或多个字符(可选“标签”)

      • 另一个美元符号

      • 构成字符串内容的任意字符序列

      • 一个美元符号 ($)

      • 以美元引号开头的同一个标签

      • 一个美元符号

        例如:$$invalid$$

  • 它们不能包含连续的连字符 (-)。

  • 它们不能以以下任何前缀开头:

    padb_, pg_, stcs_, stl_, stll_, stv_, svcs_, svl_, svv_, sys_, systable_

  • 它们不能包含反斜杠字符 (\)、引号 (') 或非双引号的空格。

  • 如果它们以非字母字符开头,则必须位于双引号 (" ") 中。

  • 如果它们包含连字符 (-),则必须位于双引号 (" ") 内。

  • 它们的长度必须在 1 到 127 个字符之间。

  • 保留字必须位于双引号 (" ") 内。

  • 以下保留的列名不能在 AWS Clean Rooms 中使用(即使带引号):

    • oid

    • tableoid

    • xmin

    • cmin

    • xmax

    • cmax

    • ctid

文本

文本或常量是固定数据值,由一系列字符或数字常量组成。

下面是 AWS Clean Rooms 中的文本的命名规则:

  • 支持数本、字符以及日期、时间和时间戳文本。

  • 仅支持 Unicode 通用类别 (Cc) 中的 TAB、CARRIAGE RETURN (CR) 和 LINE FEED (LF) Unicode 控制字符。

  • SELECT 语句不支持直接引用投影列表中的文本。

    例如:

    SELECT 'test', consumer.first_purchase_day FROM consumer INNER JOIN provider2 ON consumer.hashed_email = provider2.hashedemail

保留字

下面是 AWS Clean Rooms 中的保留字列表。

AES128

DELTA32KDESC

LEADING

PRIMARY

AES256ALL

DISTINCT

LEFTLIKE

RAW

ALLOWOVERWRITEANALYSE

DO

LIMIT

READRATIO

ANALYZE

DISABLE

LOCALTIME

RECOVERREFERENCES

AND

ELSE

LOCALTIMESTAMP

REJECTLOG

ANY

EMPTYASNULLENABLE

LUN

RESORT

ARRAY

ENCODE

LUNS

RESPECT

AS

ENCRYPT

LZO

RESTORE

ASC

ENCRYPTIONEND

LZOP

RIGHTSELECT

AUTHORIZATION

EXCEPT

MINUS

SESSION_USER

AZ64

EXPLICITFALSE

MOSTLY16

SIMILAR

BACKUPBETWEEN

FOR

MOSTLY32

SNAPSHOT

BINARY

FOREIGN

MOSTLY8NATURAL

SOME

BLANKSASNULLBOTH

FREEZE

NEW

SYSDATESYSTEM

BYTEDICT

FROM

NOT

TABLE

BZIP2CASE

FULL

NOTNULL

TAG

CAST

GLOBALDICT256

NULL

TDES

CHECK

GLOBALDICT64KGRANT

NULLSOFF

TEXT255

COLLATE

GROUP

OFFLINEOFFSET

TEXT32KTHEN

COLUMN

GZIPHAVING

OID

TIMESTAMP

CONSTRAINT

IDENTITY

OLD

TO

CREATE

IGNOREILIKE

ON

TOPTRAILING

CREDENTIALSCROSS

IN

ONLY

TRUE

CURRENT_DATE

INITIALLY

OPEN

TRUNCATECOLUMNSUNION

CURRENT_TIME

INNER

OR

UNIQUE

CURRENT_TIMESTAMP

INTERSECT

ORDER

UNNEST

CURRENT_USER

INTERVAL

OUTER

USING

CURRENT_USER_IDDEFAULT

INTO

OVERLAPS

VERBOSE

DEFERRABLE

IS

PARALLELPARTITION

WALLETWHEN

DEFLATE

ISNULL

PERCENT

WHERE

DEFRAG

JOIN

PERMISSIONS

WITH

DELTA

LANGUAGE

PIVOTPLACING

WITHOUT