为什么select * from [user]能用select*from user不能用? 開什麼國際玩笑?要讓我們相信你的話,請把你的錯誤的訊息用圖片的形式Copy 下來,然後再個地方放上去,讓我們看看。:D這樣會比較好點:P ^_^ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为user是Transact-SQL 的保留字,只能为分隔标识符 to N_Chow(Red.pan_Nipsan):你建一个表名为保留字的表试一下就知道错误了。 使用标识符数据库对象的名称被看成是该对象的标识符。Microsoft SQL Server 中的每一内容都可带有标识符。服务器、数据库和数据库对象(例如表、视图、列、索引、触发器、过程、约束、规则等)都有标识符。大多数对象要求带有标识符,但对有些对象(如约束)标识符是可选项。对象标识符是在定义对象时创建的。标识符随后用于引用该对象。例如,下面的语句创建一个标识符为 TableX 的表,该表中有两列的标识符分别是 KeyCol 和 Description:CREATE TABLE TableX(KeyCol INT PRIMARY KEY, Description NVARCHAR(80))此表还有一个未命名的约束。PRIMARY KEY 约束没有标识符。标识符的种类标识符有两类:常规标识符 符合标识符的格式规则。在 Transact-SQL 语句中使用常规标识符时不用将其分隔。SELECT *FROM TableXWHERE KeyCol = 124分隔标识符 包含在双引号 (") 或者方括号 ([ ]) 内。符合标识符格式规则的标识符可以分隔,也可以不分隔。 SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.常规标识符和分隔标识符包含的字符数必须在 1 到 128 之间。对于本地临时表,标识符最多可以有 116 个字符。常规标识符规则常规标识符的格式规则取决于数据库的兼容级别,兼容级别可以用 sp_dbcmptlevel 来设置。有关更多信息,请参见 sp_dbcmptlevel。当兼容级别为 80 时,规则是: 1、第一个字符必须是下列字符之一: *Unicode 标准 2.0 所定义的字母。Unicode 中定义的字母包括拉丁字母 a-z 和 A-Z,以及来自其它语言的字母字符。 *下划线 (_)、at 符号 (@) 或者数字符号 (#)。 在 SQL Server 中,某些处于标识符开始位置的符号具有特殊意义。以 at 符号开始的标识符表示局部变量或参数。以一个数字符号开始的标识符表示临时表或过程。以双数字符号 (##) 开始的标识符表示全局临时对象。 某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开始。为避免混淆这些函数,建议不要使用以 @@ 开始的名称。2、后续字符可以是: *Unicode 标准 2.0 所定义的字母。 *来自基本拉丁字母或其它国家/地区脚本的十进制数字。 *at 符号、美元符号 ($)、数字符号或下划线。 3、标识符不能是 Transact-SQL 的保留字。SQL Server 保留其保留字的大写和小写形式。4、不允许嵌入空格或其它特殊字符。 当标识符用于 Transact-SQL 语句时,必须用双引号或括号分隔不符合规则的标识符。 我应该怎么给foolishchao(傻超) 分呢? N_Chow(Red.pan_Nipsan),你为什么用繁体? foolishchao(傻超) , 呵呵~~~老板卻實是台湾人。 SQLServer对数据库中的内容字符有要求吗?请看看我的问题,挂了好几天了http://www.csdn.net/expert/topic/655/655262.xml?temp=.7131616 写一个储存过程!! 求思路!!! 询一思路?? 问一个问题,查询的问题,不知道能不能实现啊,比较着急,在线等,谢谢 求助:关于SQL分页问题,使用动态存储过程,不知如何返回记录总数 SQL 如何优化排序啊 求两条SQL语句查询,应该比较简单! ! ! ! 存储过程的问题 找最新价格 大家看看这个问题该怎么解决呢? 身边实在没有资料。问一个菜问题:在SQLSERVER的存储过程中,定义了个Cursor。如何让它直接到末尾?我想取数据集的最后一条数据 高手请进--->怎么用SQl语句把第n条记录查询出来? 如何把一个表插到另一个表中
你建一个表名为保留字的表试一下就知道错误了。
使用标识符
数据库对象的名称被看成是该对象的标识符。Microsoft SQL Server 中的每一内容都可带有标识符。服务器、数据库和数据库对象(例如表、视图、列、索引、触发器、过程、约束、规则等)都有标识符。大多数对象要求带有标识符,但对有些对象(如约束)标识符是可选项。对象标识符是在定义对象时创建的。标识符随后用于引用该对象。例如,下面的语句创建一个标识符为 TableX 的表,该表中有两列的标识符分别是 KeyCol 和 Description:CREATE TABLE TableX
(KeyCol INT PRIMARY KEY, Description NVARCHAR(80))此表还有一个未命名的约束。PRIMARY KEY 约束没有标识符。标识符的种类
标识符有两类:常规标识符 符合标识符的格式规则。在 Transact-SQL 语句中使用常规标识符时不用将其分隔。SELECT *
FROM TableX
WHERE KeyCol = 124分隔标识符 包含在双引号 (") 或者方括号 ([ ]) 内。符合标识符格式规则的标识符可以分隔,也可以不分隔。 SELECT *
FROM [TableX] --Delimiter is optional.
WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。SELECT *
FROM [My Table] --Identifier contains a space and uses a reserved keyword.
WHERE [order] = 10 --Identifier is a reserved keyword.常规标识符和分隔标识符包含的字符数必须在 1 到 128 之间。对于本地临时表,标识符最多可以有 116 个字符。常规标识符规则
常规标识符的格式规则取决于数据库的兼容级别,兼容级别可以用 sp_dbcmptlevel 来设置。有关更多信息,请参见 sp_dbcmptlevel。当兼容级别为 80 时,规则是: 1、第一个字符必须是下列字符之一:
*Unicode 标准 2.0 所定义的字母。Unicode 中定义的字母包括拉丁字母 a-z 和 A-Z,以及来自其它语言的字母字符。
*下划线 (_)、at 符号 (@) 或者数字符号 (#)。
在 SQL Server 中,某些处于标识符开始位置的符号具有特殊意义。以 at 符号开始的标识符表示局部变量或参数。以一个数字符号开始的标识符表示临时表或过程。以双数字符号 (##) 开始的标识符表示全局临时对象。
某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开始。为避免混淆这些函数,建议不要使用以 @@ 开始的名称。2、后续字符可以是:
*Unicode 标准 2.0 所定义的字母。
*来自基本拉丁字母或其它国家/地区脚本的十进制数字。
*at 符号、美元符号 ($)、数字符号或下划线。
3、标识符不能是 Transact-SQL 的保留字。SQL Server 保留其保留字的大写和小写形式。
4、不允许嵌入空格或其它特殊字符。
当标识符用于 Transact-SQL 语句时,必须用双引号或括号分隔不符合规则的标识符。
呵呵~~~老板卻實是台湾人。
请看看我的问题,挂了好几天了http://www.csdn.net/expert/topic/655/655262.xml?temp=.7131616