我有一个名为CODE的列,它是PL/SQL的保留字,所以我试图使用where子句选择所有列,但它不起作用。我用了[],但没用。PL/SQL不同吗?
select *
from tab_i
where [code] = 'jack'
首先,CODE
不是PL/SQL中的保留字。所以
select *
into my_record_variable
from tab_i
where code = 'jack';
或
select *
bulk collect into my_table_variable
from tab_i
where code = 'jack';
应该还可以。
然后,关于";PL/SQL不同吗":不适用。适用于SQL分隔符的规则也适用于PL/SQL。但是,无论在SQL中还是在PL/SQL中,括号都不是有效的分隔符。名称的标准SQL分隔符是双引号。(不过,也有一些DBMS在这方面不符合标准。例如,SQL Server使用括号。(