【问题标题】:Cant do Insert Process using openrowset?无法使用 openrowset 进行插入过程?
【发布时间】:2015-09-29 14:44:42
【问题描述】:

像这样在openrowset 中使用存储过程:

SELECT *   
FROM OPENROWSET('SQLNCLI', 'Server'; 'username'; 'password',
                'SET NOCOUNT ON;SET FMTONLY OFF;    
                 EXEC dbname.schemaname.spSaveMyProfileUpdatedInfo ''Additional Information'',''AdditionalTax'',''1'',''employee''
                ') 

在该存储过程spSaveMyProfileUpdatedInfo 中,我们只是插入值。

问题是:

  1. 有时它会插入值,但大多数时候不会。

  2. 我在表中有一个 identity 列。在该标识列中,插入的记录不按顺序排列。好像错过了一些记录。

那么我做错了什么?那为什么大部分时间insert过程都做不了呢?

提前致谢

【问题讨论】:

  • ID 列的顺序很好,据我所知。在该值序列中,您认为什么是错误? (1, 3, 7, 10, 13 很好,而且还在不断增加.....)
  • 身份行为不是问题......只是我想知道为什么它会这样反应......但问题是,大多数时候它不会将值插入桌子。感谢您的回复

标签: sql sql-server sql-server-2008


【解决方案1】:

关于排序

如果您需要对输出进行排序,SQL 服务器不会授予您任何顺序 - 使用 Order By Clause

如果您在您的身份上创建聚集索引 - 这应该对您的记录进行排序,因为它将使用物理数据顺序,但再次按顺序获取数据 - 使用 order by 子句

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多