用TOAD编辑修改Oracle视图时遇到错误ORA-00923: FROM keyword not found where expected,原意为未找到关键字,但在本例中并非如此,而是我用错了别名。
Oracle的SQL语句如果使用别名,而且以数字或特殊符号开头的,如20_num,要用英文双引号括起来,否则就会出现ORA-00923的错误。如果别名用单引号包裹也会出现ORA-00923。
至于别名如果用汉字,至少我在ORACLE10g中使用中倒是没有遇到麻烦,虽然以前有说要加引号加强兼容性,不过如果中间有空格,那不管是英文还是中文都要加双引号。
另外一点,如果使用双引号,这个列别名就完全保持在引号中的大小写状态,而不会被Oracle转换成大写,默认Oracle会把所有表名、列名、别名都转成大写,注意仅有大小写不一致的字串并不认为是同一字串,即如果使用双引号创建带小写的列名或表名,在查询时只用大写状态时是找不到的,必须要保持相同大小写状态才能查询出正确的结果。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1996.html