最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用Sequelize在SQL SERVER中定义用户定义的函数

运维笔记admin10浏览0评论

使用Sequelize在SQL SERVER中定义用户定义的函数

使用Sequelize在SQL SERVER中定义用户定义的函数

我已经在SQL SERVER中手动创建了函数,然后使用Node.js中的Sequelize库调用了这些函数。

示例:

let query = "select * from getSomeData(:StartDate,:EndDate)";
let SeqOptions = {
           replacements: {
                           StartDate : '2015-05-03',
                           EndDate : '2015-05-05',
                        },
                            type: sequelize.QueryTypes.SELECT
                }; 
 let result = await sequelize.query(query , SeqOptions );

但是我已经在SQL中手动定义了getSomeData函数。没有办法在Sequelize中声明函数定义吗?这样,每当我重新启动服务器并重置数据库时,都不必在数据库中运行脚本?

回答如下:
You can try this it works for me:
const procedureDropIfExists = `DROP FUNCTION IF EXISTS getSomeData;`
    sequelize.query(procedureDropIfExists, {
        type: sequelize.QueryTypes.raw
    });

const procedureQuery = `CREATE FUNCTION getSomeData(arg1 INT, arg2 INT) RETURNS int(11)`
        + '\tBEGIN'
        + `\tDECLARE hold_result INT;`
        + `\tselect dummycolvalue INTO var_value from tableName whereClause;`
        + `\tRETURN hold_result;`
        + 'END;';
    sequelize.query(procedureQuery, {
        type: sequelize.QueryTypes.raw
    }); 

let me know if it works for you.
发布评论

评论列表(0)

  1. 暂无评论