#在SQL中有什么意义?

Dar*_*ar1 8 sql oracle plsql oracle10g

我有以下代码在Oracle中创建一个对象类型(PL ??)

CREATE OR REPLACE TYPE STAFF_T as OBJECT(Staff_ID# NUMBER, Person PERSON_T); \
Run Code Online (Sandbox Code Playgroud)

我想知道声明中附加到Staff_ID变量的#的重要性是什么?

Qua*_*noi 10

没有特别的意义.

Oracle允许使用$,_并且#在标识符,就像任何其他字母数字字符,但标识符应当以字母字符(字母)开始.


Jon*_*ler 3

无论谁编写了代码,# 可能并没有什么特殊含义。

但 # 显然对 Oracle 来说意味着什么,尽管我不知道是什么。来自SQL 语言参考

Oracle 强烈建议您不要在不带引号的标识符中使用 $ 和 #。

以下是对警告内容的一些猜测:

  • 它与一个非常古老的错误有关(警告至少可以追溯到 Oracle 7)
  • Oracle 计划在未来的版本中用它来做一些事情
  • 该字符并非在 Oracle 支持的所有键盘、字符集或平台上都可用

数据字典大量使用数字符号,据我所知,它对于用户对象来说效果很好。但为了安全起见,您可能需要将其删除。