我今天早上遇到了以下DDL在PL/SQL腳本:pl/sql美元運算符?
創建索引genuser.idx $$ _ 0bdd0011 ...
我最初的想法是,用工具生成的索引名。 ..但我也不是一個pl/sql巨星,所以我很可能是不正確的。雙重美元符號在這個陳述中有什麼特別的意義?
我今天早上遇到了以下DDL在PL/SQL腳本:pl/sql美元運算符?
創建索引genuser.idx $$ _ 0bdd0011 ...
我最初的想法是,用工具生成的索引名。 ..但我也不是一個pl/sql巨星,所以我很可能是不正確的。雙重美元符號在這個陳述中有什麼特別的意義?
你最初的想法似乎是正確的。這看起來是由工具生成的索引名稱(但未由Oracle指定,因爲未指定索引名稱)。美元符號除了是人類開發者很少使用的有效符號之外沒有任何特殊意義,因此可以方便地降低系統生成名稱與人類名稱衝突的風險。
沒有特別的含義或意義。
SQL> create table t (col number)
2/
Table created.
SQL> create index idx$$_0bdd0011 on t(col)
2/
Index created.
注意:CREATE INDEX是一種DDL語句,通常在SQL腳本中執行,而不是在PL/SQL中執行。
無論在哪裏,他名字的由來,它的相反甲骨文的記載建議:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#SQLRF00223
Oracle強烈建議您不要在帶引號的標識符使用$和#
這甚至意味着什麼? 「強烈反對」?哦,你最好不要這樣做,或者,或者......或者......我會非常生氣。 WTF – 2009-03-11 21:37:02
我覺得0bdd0011需要照顧那。 – 2009-03-11 21:20:10