【发布时间】:2015-07-20 12:57:53
【问题描述】:
我一直在网上寻找这个问题的答案,但无济于事!
是否可以复制具有只读用户定义表类型作为参数的存储过程?
例如:
CREATE TYPE [UTIL].[DATE_TIME_LIST] AS TABLE (
[ID] UNIQUEIDENTIFIER ,
[START_DATE_TIME] DATETIME,
[END_DATE_TIME] DATETIME
)
GO
--Publisher Side
CREATE PROCEDURE DBO.REPLICATION_TEST
(@REPLICATED_OBJECT UTIL.[DATE_TIME_LIST] READONLY)
AS
BEGIN
RETURN
END
--Subscriber Side
CREATE PROCEDURE DBO.REPLICATION_TEST
(@REPLICATED_OBJECT UTIL.[DATE_TIME_LIST] READONLY)
AS
BEGIN
INSERT INTO DBO.LOGGING_TABLE (ID, START_DATE_TIME, END_DATE_TIME)
SELECT
ID, START_DATE_TIME, END_DATE_TIME
FROM @REPLICATED_OBJECT
RETURN
END
我假设您在发布者和订阅者数据库中都需要自定义表类型。
谢谢。
【问题讨论】:
-
如果你也复制类型,你应该没有问题。
-
@ZoharPeled 您不能复制用户定义的类型,但是是的,OP 可以复制任何 CLR 用户定义的类型。因此,OP 将需要在订阅者上显式创建用户定义类型。
-
所以如果类型在两边,我们应该排序? ☺
-
是的,您需要做的就是确保在出版商的文章中添加了程序并且您一切顺利,
-
哦,我不知道...对不起...
标签: sql-server-2008 sql-server-2012 sql-server-2014