【发布时间】:2016-06-30 14:23:59
【问题描述】:
我正在尝试调用传入参数的存储过程,如下所示。但是,我知道我的语法已关闭,并且在文档或单元测试中都没有看到任何这样做的示例。
model.sequelize.query('CALL truncate_tables(\'appuser\');')
.then(function (response) {
done();
}).error(function (err) {
done(err);
});
建议?
我开始查看此链接。 Calling stored procedures in Sequelize.js
附加信息:
这是我看到的错误
Unhandled rejection SequelizeDatabaseError: syntax error at or near "CALL"
这里是sp
CREATE OR REPLACE FUNCTION truncate_tables(username character varying)
RETURNS void AS
$BODY$
DECLARE
statements CURSOR FOR
SELECT tablename FROM pg_tables
WHERE tableowner = username AND schemaname = 'public';
BEGIN
FOR stmt IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;';
END LOOP;
END;
$BODY$
【问题讨论】:
-
您得到的错误究竟是什么?如果
appuser是一个字符串,那么语法对我来说很好。 -
谢谢@SteffenLanger,我刚刚更新了问题
标签: node.js stored-procedures sequelize.js