「SequoiaDB巨杉数据库」createProcedure()

语法

db.createProcedure( <code> )

在数据库对象中创建存储过程。

参数描述

参数名参数类型描述是否必填
code自定义函数标准函数定义,不是字符串类型,在输入参数时不能使用引号。

Note:

  • 推荐直接使用存储过程中已初始化全局的 db,且全局 db 采用当前执行该存储过程的会话的鉴权信息,如:db.createProcedure( function getAll() { return db.sample.employee.find(); } ) 。
  • 自己初始化 db 的形式为 var db = new Sdb(),db 采用当前执行该存储过程的会话的鉴权信息。如果需要加入其它用户名和密码,为 var db = new Sdb( 'usrname','passwd' ) 。这里需要注意的是,存储过程只能运行在已连接上的 db,不提供远程连接其他 db 的方法。在不需要鉴权的情况下,即使如 var db = new Sdb( 'hostname', 'servicename' ) 语句正常执行。得到的 db 仍然是本地 db。
  • db 角色必须为协调节点。standalone 模式不提供存储过程功能。

自定义函数

  • 函数定义

    (1) 函数必须包含函数名,不能使用如:function(x,y) { return x+y; }。

    (2) 在函数定义时可以调用其他函数甚至是不存在的函数,但需要保证运行时所有函数已存在。

    (3) 函数名全局唯一,不提供重载。

    (4) 每个函数均在全系统可用,随意删除一个存储过程可能导致他人运行失败。

  • 函数参数

    native type of JS

    Copy

  • 函数输出

    函数中所有标准输出,标准错误会被屏蔽。同时不建议在函数定义或执行时加入输出语句,大量的输出可能会导致存储过程运行失败。

  • 函数返回值

    函数返回值可以是除 db 以外任意类型数据,如:function getCL() { return db.sample.employee; }。

返回值

无返回值,出错抛异常,并输出错误信息,可以通过 getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。关于错误处理可以参考常见错误处理指南 。

示例

  • 创建 sum 函数

    > db.createProcedure( function sum(x,y) { return x+y; } )

    Copy

    创建之后可以使用 db.listProcedures() 查看函数信息。

相关文章请点击阅读

「SequoiaDB巨杉数据库」createDomain()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值