Создание внешней функции, аналогичной созданию внешней таблицы на postgresql для SQL Server с использованием FreeTDS - PullRequest
0 голосов
/ 20 декабря 2018

Я пытался создать стороннюю функцию или хранимую процедуру в , например, создать внешнюю таблицу.

На самом деле, я создал внешнюю таблицу, но у меня нет создания внешней функции.

`CREATE EXTENSION tds_fdw;`

CREATE SERVER mssql_svr_cm FOREIGN DATA WRAPPER tds_fdw 
OPTIONS ( servername 'IP_SERVER', port '1433',  database 'MSSQL_DATABASE', 
tds_version '7.3', msg_handler 'notice' );

CREATE SCHEMA custom_schema_mssql;

CREATE USER MAPPING FOR uapptokamovil SERVER mssql_svr_cm  
OPTIONS (username 'MSSQL_USER', password 'MSSQL_PASSWORD');

CREATE FOREIGN TABLE custom_schema_mssql.Tb_Users
(
    iduser               INT NOT NULL
    ,idclient              INT
    ,firstname                 VARCHAR(25)
    ,lastname               VARCHAR(25)
)
SERVER mssql_svr_cm OPTIONS (TABLE 'dbo.Tb_Users', row_estimate_method 
'showplan_all');`

Но когда я пытаюсь создать чужую функцию:

ALTER FOREIGN FUNCTION app.fn_getphone
(
    iduser               INT
)
SERVER mssql_svr_cm OPTIONS (TABLE 'dbo.fn_getphone', row_estimate_method 
'showplan_all');

я получаю эту ошибку:

ОШИБКА: синтаксическая ошибка в или около«ФУНКЦИЯ»
ЛИНИЯ 6: ИЗМЕНИТЬ ИНОСТРАННУЮ ФУНКЦИЮ app.fn_getphone ^
Состояние SQL: 42601
Символ: 197

Можете ли вы помочь мне?

...