小编jza*_*ruk的帖子

SQL Server:事务复制计算列

我是事务复制订阅的订阅者。我无法控制出版商。

我已阅读以下有关发布数据库架构更改的文章:

对发布数据库进行架构更改

但是,我正在尝试更改订阅端的架构(如果可能)。我想知道事务复制是否支持向订阅者表添加持久计算列。

我更喜欢这个解决方案,而不是为每个需要计算值的表添加一个新视图。

sql-server transactional-replication

8
推荐指数
2
解决办法
2140
查看次数

SQL Server:日志传送只读

在主库和备库之间进行日志传送时,是否必须将备库设置为只读?

通过只读,我不是在谈论仅从数据库中读取的想法。我说的是具有只读或备用/只读特定状态的数据库。

我在日志传送概述和其他相关页面中找不到任何说明这是必需的。这导致了一个问题,因为我无法向只读数据库添加任何索引。

sql-server

6
推荐指数
1
解决办法
1万
查看次数

RETURN TABLE 在 Postgres 函数中转换为 RETURN SETOF int

在 pgAdminIII 中,我创建了一个函数,该函数使用 RETURN TABLE 在名为 identifier 的单列中返回多行:

CREATE OR REPLACE FUNCTION test(
    IN parm1 date,
    IN parm2 interval)
  RETURNS TABLE(identifier INT) 
AS
$BODY$
BEGIN
    RETURN QUERY
    SELECT 1;

END;
$BODY$
  LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

创建函数后,pgAdminIII 显示该函数具有以下定义:

CREATE OR REPLACE FUNCTION test(IN parm1 date, IN parm2 interval)
  RETURNS SETOF integer AS
$BODY$
BEGIN
    RETURN QUERY
    SELECT 1;

END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
Run Code Online (Sandbox Code Playgroud)

执行函数时,它遵循RETURNS TABLE. 但是,在编辑该函数时,它将拾取RETURNS SETOF. 这提供了与我指定的函数不同的功能(例如,返回的列的名称不再存在)。

那么,如何强制 pgAdminIII 保留返回的列名identifier?我并不特别关心我是否将其定义为 aTABLESETOF …

postgresql pgadmin parameter functions

6
推荐指数
1
解决办法
6214
查看次数