为什么oracle的sql语句的表名必须加“”???

vanny 2003-06-06 04:53:37
为什么oracle的sql语句的表名必须加“”??? 我把它存在一个字符串变量该怎样写啊?

...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ibbcall 2003-06-07
  • 打赏
  • 举报
回复
原因是你在建表时表名用了双引号。

如果你是这样建表的:
create table "test" (id number);
则:
select id from "test";

如果你是这样建表的:
create table test (id number);
则:
select id from test;

"test"表和test表Oracle认为是两个不同的表。
有时用一些数据库建模工具生成的SQL会出现以上情况,如PowerDesigner。
beckhambobo 2003-06-06
  • 打赏
  • 举报
回复
在非法字符串时,那可以双引号,原因是oracle不认的
maotin 2003-06-06
  • 打赏
  • 举报
回复
你这两句没有区别啊?
vanny 2003-06-06
  • 打赏
  • 举报
回复
SQL> select * from CC_AgentRecord;
select * from CC_AgentRecord
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在

而我用
select * from CC_AgentRecord;
却可以 为什么?????

bobfang 2003-06-06
  • 打赏
  • 举报
回复
table是保留字,把它用作对象名就需要加上引号。
gethostbyname 2003-06-06
  • 打赏
  • 举报
回复
不可能啊:
SQL> select * from test_tmp;

AA BB
---------- --------------------
66 ll
67 ll
我的好好的嘛。
vanny 2003-06-06
  • 打赏
  • 举报
回复
我用pl/sql工具执行sql语句时!
select * from table --出错
select * from "table" --成功
gethostbyname 2003-06-06
  • 打赏
  • 举报
回复
没有说表名要加“”呀,你是不是想动态生成SQL语句呀,如果是就用动态SQL吧。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧