最近一个SQL语句总是执行失败,后来发现其中一个表的别名我命名为了plan, 而这个plan的颜色变成了蓝
色。这就提醒我plan似乎是一个关键字。查联机丛书,发现plan是一个“保留关键字”。具体的内容可以通过“保
留关键字”作为查询关键字得到相关的信息。以后在编写SQL语句的时候应该尽量的避免使用这些保留关键字。如
果一定要使用,那么就需要使用“分隔标识符”。下面就是先前让我郁闷的那个SQL语句:
SELECT plan.* FROM T_PLAN plan 提示错误是:在关键字 'plan' 附近有语法错误。
用“分隔标识符”改造后:
SELECT "plan".* FROM T_PLAN "plan" 这样语句就可以正常的运行。
以下是从“联机丛书”中摘抄的信息:
Microsoft® SQL Server™ 2000 保留某些关键字用于其它用途。例如,在 osql 或 SQL 查询分析器会话中使
用 Transact-SQL DUMP 或 BACKUP 关键字,通知 SQL Server 备份全部或部分数据库或者备份日志。
除 SQL Server 定义的位置以外,其它任何位置上的 Transact-SQL 语句中包括保留关键字均为非法。数据库
中对象的名称不能与保留关键字相同。如果有这样的名称,则必须始终使用分隔标识符来引用这个对象。尽管这个
方法允许存在名称为保留关键字的对象,还是建议不要用与保留关键字相同的名称命名任何数据库对象。