Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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
选择顺序的差异ORACLE和SQL Server不带Order子句_Sql_Sql Server_Oracle_Migration - Fatal编程技术网

选择顺序的差异ORACLE和SQL Server不带Order子句

选择顺序的差异ORACLE和SQL Server不带Order子句,sql,sql-server,oracle,migration,Sql,Sql Server,Oracle,Migration,我有一个要求,我们要将项目从ORACLE迁移到SQL Server 从ORACLE到SQL Server,选择顺序不同 有人能建议我不使用order子句而获得相同的选择顺序吗 提前感谢。根据定义,选择而不选择顺序依据是不确定的,并且依赖于实现。服务器可以决定以其认为性能更好的任何顺序交付结果 例如,如果删除一些行,然后插入另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后通过SELECT在磁盘上以物理顺序传递,而不是以插入顺序传递。根据定义,SELECT不带order by是不确

我有一个要求,我们要将项目从ORACLE迁移到SQL Server

从ORACLE到SQL Server,选择顺序不同

有人能建议我不使用order子句而获得相同的选择顺序吗


提前感谢。

根据定义,
选择
而不选择顺序依据是不确定的,并且依赖于实现。服务器可以决定以其认为性能更好的任何顺序交付结果


例如,如果删除一些行,然后插入另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后通过SELECT在磁盘上以物理顺序传递,而不是以插入顺序传递。

根据定义,
SELECT
不带
order by
是不确定的,并且取决于实现。服务器可以决定以其认为性能更好的任何顺序交付结果


例如,如果您删除了一些行,然后又插入了另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后由SELECT以物理顺序在磁盘上传递,不按插入顺序。

如果不指定
order by
,表的记录将根据服务器首选项和输入的顺序显示(如果删除并重新插入,则不显示)


所有
Oracle
SQL Server
都使用相同的策略。

如果不指定
order by
,表中的记录将根据服务器首选项和输入的顺序显示(如果删除并重新插入,则不会显示)


所有的
Oracle
sqlserver
都使用相同的策略。

您永远不应该依赖默认顺序。如果希望结果按特定顺序排列,则应显式使用ORDERBY子句

决不应依赖默认顺序。如果希望结果按特定顺序排列,则应明确使用order BY子句

您的意思是表中记录的顺序不同吗?如果没有明确的
order BY
,则任何RDBMS中都没有隐含的顺序。如果您需要一个顺序-您需要明确地指定它,默认情况下,会以无顺序的方式获取记录,sql会以某种方式获取记录,oracle会以其他方式获取记录。您的意思是表中记录的顺序不同吗?如果没有显式的order BY,则任何RDBMS中都没有隐含的顺序。如果您需要一个顺序-您需要明确地指定它。默认情况下,将不按任何顺序获取记录,sql以某种方式获取记录,oracle以某种方式获取记录