Jes*_*lam 26 t-sql sql-server sql-server-2008
我有兴趣在某些事件中从SQL Server存储过程返回一个空结果集.
预期的行为是L2SQL DataContext.SPName().SingleOrDefault()
将导致CLR空值.
我现在正在使用以下解决方案,但我不确定它是否会被视为不良做法,性能危害(我无法通过阅读执行计划找到),或者是否有更好的方法:
SELECT * FROM [dbo].[TableName]
WHERE 0 = 1;
Run Code Online (Sandbox Code Playgroud)
执行计划是一项持续扫描,其中包含与之相关的微不足道的成本.
我问这个而不是简单地不运行任何SELECT的原因是因为我担心以前的SELECT @scalar或SELECT INTO语句可能导致意外的结果集被送回L2SQL.我什么都不担心?
Mar*_*ers 25
这是一种合理的方法.另一种选择是:
SELECT TOP 0 * FROM [dbo].[TableName]
Run Code Online (Sandbox Code Playgroud)
我认为最好的解决方案是 top 0 但不使用虚拟表。这对我有用
选择top 0 null作为column1,null作为column2。
使用例如系统表可能对性能有好处,但看起来不干净。
归档时间: |
|
查看次数: |
25284 次 |
最近记录: |