【问题标题】:Simple question on a SQL create table关于 SQL 创建表的简单问题
【发布时间】:2010-11-20 10:20:32
【问题描述】:

我实际上正在我的测试数据库中创建一个示例表,但不知何故我错过了正确的语法并想出了这个创建表的语句 -

CREATE TABLE A (id as INT, column1 as nvarchar(10))

当我尝试执行此语句时,出现以下错误 -

'nvarchar' is not a recognized built-in function name.

尽管如此,我发现我不应该在列声明中使用“as”并更正它,我现在很好奇为什么我只为nvarchar 而不是@ 987654324@。 还有为什么这个错误而不是不正确的语法或类似的东西。

提前致谢。

【问题讨论】:

  • CREATE TABLE #A (id as INT) 本身会给你一个不同的错误 `Incorrect syntax near ')'

标签: sql-server-2005 create-table


【解决方案1】:

AS 用于定义计算列。因此,SQL Server 在这里需要一个表达式,并且这个“看起来”像一个函数调用。

Computed columns info on MSDN for SQl Server 2005

【讨论】:

  • 哇,这对我来说是新事物。我一直认为“as”是别名。这个计算列的概念,我也可以在我的项目的很多地方使用它。
猜你喜欢
  • 2015-05-16
  • 1970-01-01
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
相关资源
最近更新 更多