Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用After子句添加计算列_Sql_Sql Server 2008 - Fatal编程技术网

Sql 使用After子句添加计算列

Sql 使用After子句添加计算列,sql,sql-server-2008,Sql,Sql Server 2008,我正在尝试在指定列之后创建计算列 但是SQL为下面的查询提供了语法错误。请帮助我使用正确的语法/方法 ALTER TABLE service_ServiceClass ADD LichenClassName AS ([dbo].[UfnGetServiceClassName]([Id])) AFTER Description sql server语句中没有after子句。 表中列的顺序也是行的顺序,顺便说一句,从用户的角度来看,这是完全不重要的。 从服务器的角度来看,这很重要,因为在使

我正在尝试在指定列之后创建计算列

但是SQL为下面的查询提供了语法错误。请帮助我使用正确的语法/方法

ALTER TABLE service_ServiceClass 
  ADD LichenClassName AS ([dbo].[UfnGetServiceClassName]([Id])) AFTER Description 
sql server语句中没有after子句。 表中列的顺序也是行的顺序,顺便说一句,从用户的角度来看,这是完全不重要的。 从服务器的角度来看,这很重要,因为在使用聚集索引时,这可能会影响性能

列的顺序唯一重要的时候是使用select*…,但无论如何都不应该使用它。始终直接指定列名。

sql server语句中没有after子句。 表中列的顺序也是行的顺序,顺便说一句,从用户的角度来看,这是完全不重要的。 从服务器的角度来看,这很重要,因为在使用聚集索引时,这可能会影响性能


列的顺序唯一重要的时候是使用select*…,但无论如何都不应该使用它。始终直接指定列名。

您会收到一个错误,因为AFTER是MySQL语法。 目前在SQL Server中没有直接的方法来更改列顺序


在MS SQL Server Management Studio中,您必须使用SSMS表设计器右键单击yourTable->Design来排列列,这样可以生成一个脚本,删除并重新创建表。

您会收到一个错误,因为AFTER是MySQL语法。 目前在SQL Server中没有直接的方法来更改列顺序


在MS SQL Server Management Studio中,您必须使用SSMS表格设计器右键单击表格->设计来排列列,然后生成一个脚本来删除并重新创建表格。

这在SQL Server中是不可能的。第条不可用。我想你可以在MySQL中实现,但在SQL Server中是不可能的。第条不可用。我想你可以在MySQL中实现,行和列的顺序并不是无关紧要的。聚集索引控制行的顺序,有时对性能很重要。如果列类型具有对齐首选项,则列的顺序也很重要-在SQL Server中无法很好地控制它,但它可能很重要。@GordonLinoff谢谢,我已经编辑了我的答案。我希望现在更准确。行和列的顺序不是无关紧要的。聚集索引控制行的顺序,有时对性能很重要。如果列类型具有对齐首选项,则列的顺序也很重要-在SQL Server中无法很好地控制它,但它可能很重要。@GordonLinoff谢谢,我已经编辑了我的答案。我希望现在更准确。为什么要删除并重新创建表?@DanBracuk-因为SQL Server无法重新排列表中的列。因此,如果您坚持更改列顺序,唯一的方法是使用更改的布局重新创建表。为什么您必须删除并重新创建表?@DanBracuk-因为SQL Server无法在表中重新排列列。因此,如果您坚持要更改列顺序,实现这一点的唯一方法是使用更改的布局重新创建表。