SQL Server的Linked Server支持使用SEQUENCE吗?
SQL Server的Linked Server支持使用SEQUENCE吗?
SQL Server 2012开始支持序列(SEQUENCE),今天遇到有个同事咨询,能否在LINKED SERVER里面调用SEQENCE, 结果我测试发现不行,但是不管官方文档也好,网上相关资料也罢,都没有说支持,也没有说不支持。
例如官方文档NEXT VALUE FOR (Transact-SQL)中明确表示那些情况不支持使用序列的NEXT VALUE FOR函数。(如下所示,没有提及LINKED SERVER)
不能在下列情况下使用 NEXT VALUE FOR 函数:
· 数据库处于只读模式时。
· 作为表值函数的参数。
· 作为聚合函数的参数。
· 在子查询中,包括公用表表达式和派生表。
· 在视图、用户定义的函数或计算列中。
· 在使用 DISTINCT,UNION ,UNION ALL,EXCEPT或INTERSECT 运算符的语句中。
· 在使用 ORDER BY 子句的语句中,除非使用了 NEXT VALUE FOR …OVER (ORDER BY …)。
· 在以下子句中:FETCH,OVER,OUTPUT,ON,PIVOT,UNPIVOT,GROUP BY,HAVING,COMPUTE,COMPUTE BY 或 FOR XML。
· 在使用 CASE,CHOOSE,COALESCE,IIF,ISNULL或NULLIF 的条件表达式中。
· 在不属于 INSERT 语句的 VALUES 子句中。
· 在检查约束的定义中。
· 在规则或默认对象的定义中。 (它可用于默认约束。)
· 作为用户定义表类型中的默认值。
· 在使用 TOP、OFFSET 的语句中,或在设置 ROWCOUNT 选项时。
· 在语句的 WHERE 子句中。
· 在 MERGE 语句中。 (在目标表的默认约束中使用 NEXT VALUE FOR 函数并且在 MERGE 语句的 CREATE 语句中使用默认值的情况下例外。)
如下所示,这种写法是不支持的(SSMS中执行会直接报错),查了大量的资料,发现没有什么资料涉及这方面(当然,这种需求本身也是不合理的)。所以,经过验证、测试,可以明确的是: SQL Server中Linked Server不支持使用SEQUENCE。
SELECT NEXT VALUE FOR [LINK_SERVER_NAME].YourSQLDba.dbo.TEST_SEQ;
简单测试,发现可以使用OPENQUERY来解决这个问题。如下所示:
SELECT FROM OPENQUERY([LINK_SERVER_NAME], 'SELECT NEXT VALUE FOR YourSQLDba.dbo.TEST_SEQ');
另外,也可以将序列放到存储过程中,通过连接服务器调用存储过程,间接调用SEQUENCE。
CREATE PROCEDURE PRC_TEST
AS
BEGIN
SELECT NEXT VALUE FOR dbo.TEST_SEQ;
END
EXEC [LINK_SERVER_NAME].YourSQLDba.[dbo].PRC_TEST
参考资料:
https://docs.microsoft.com/en-us/sql/t-sql/functions/next-value-for-transact-sql?view=sql-server-2017
SQL Server的Linked Server支持使用SEQUENCE吗?的更多相关文章
- SQL Server ->> 建立linked server到Azure SQL Server
EXEC master.dbo.sp_addlinkedserver @server = N'<nick_name_to_use>', @srvproduct=N'', @provider ...
- mysql-Federated存储方式,远程表,相当于sql server的linked server
MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目 ...
- 【3.3】mysql中的Federated存储引擎,远程表,相当于sql server的linked server
MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目 ...
- SQL Server的Linked Servers
文章搬运自:SQL Server的Linked Servers(链接) 参考引用一下,感谢作者~ 我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一 ...
- SQL Server的Linked Servers(链接)
我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一个SQL Server服务器B中的表,然后将SQL Server服务器A中的表和SQL Serve ...
- Distributed1:Linked Server 添加和删除
A linked server allows for access to distributed, heterogeneous queries against OLE DB data sources. ...
- Cannot obtain the required interface ("IID_IDBCreateCommand") from OLE DB provider "OraOLEDB.Oracle" for linked server xxxx
今天遇到了一个关于LINKED SERVER查询报错的案例,链接服务器链接ORACLE数据库,测试没有错误,但是执行脚本的时候,报如下错误: Msg 7399, Level 16, State 1 ...
- SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION”
SQL Server 2017的Linked Server配置触发的bug"Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION&q ...
- MS SQL 错误:The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "test" was unable to begin a distributed transaction.
一同事在测试服务器(系统:Windows 2008 R2 Standard 数据库:SQL SERVER 2008 R2)通过链接服务器test使用分布式事务测试时出错,出错信息如下: set ...
随机推荐
- Anaconda下载及安装教程
Anaconda官网 https://www.anaconda.com/download/#windows 选择Python 3.6版本 下一步,选择安装路径 下一步,两个方框打上对号,点击Insta ...
- SSM-SpringMVC-02:SpringMVC最简单的小案例
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 咱们这个案例做什么? 就是用处理器代替Servlet处理请求 开发步骤: 1.引入jar包 <!--单 ...
- Ames房价预测特征工程
最近学人工智能,讲到了Kaggle上的一个竞赛任务,Ames房价预测.本文将描述一下数据预处理和特征工程所进行的操作,具体代码Click Me. 原始数据集共有特征81个,数值型特征38个,非数值型特 ...
- TensorFlow练习2: 对评论进行分类
本帖是前一贴的补充: 使用大数据,了解怎么处理数据不能一次全部加载到内存的情况.如果你内存充足,当我没说 训练好的模型的保存和使用 使用的模型没变,还是简单的feedforward神经网络(updat ...
- 更多细节的理解RSA算法
一.概述 RSA算法是1977年由Ron Rivest.Adi Shamir 和 Leonard Adleman三人组在论文A Method for Obtaining Digital Signatu ...
- java,maven工程打tar.gz包执行main方法
一,需要在pom.xml文件添加plugin, 项目目录结构 <build> <plugins> <plugin> <artifactId>maven- ...
- python 简单的信息管理系统
#!/usr/bin/python #coding=utf-8 import io import os import time FileRead = io.open('callingcard','r' ...
- JFree图表
************************************************************************************* 使用JFree生成统计图片, ...
- Guava新增集合类型-Bimap
Guava新增集合类型-Bimap BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构. 通常情况下,我们在使用Java的Map时,往往是通过key来查找value的,但 ...
- txn.go
package clientv3 import ( "sync" pb "github.com/coreos/etcd/etcdserver/etcdse ...