问题标签 [stored-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10543 浏览

mysql - 在mysql的存储函数中的SELECT语句中使用变量作为OFFSET

我对为 mySQL 数据库编写存储函数的主题很陌生,因此我不确定我在这里尝试做的事情是否可行。

我需要一个函数,它将从表中的随机行返回一列。我不想使用 ORDER BY RAND() 方法来做到这一点,而是我会这样做:

MySQL 在使用这样的主体创建函数时抛出错误。但是当我使用硬编码数字作为偏移量时,它工作得很好。

有人可以对这个主题有所了解吗?

我在 Windows 盒子上运行 MySQL 5.0.45。

谢谢

0 投票
10 回答
81846 浏览

sql - SQL Server - “sys.functions”在哪里?

SQL Server 2005sys.XXX对我经常使用的系统目录有很好的看法。

让我感到困惑的是:为什么有一个sys.procedures视图可以查看有关您的存储过程的信息,但没有sys.functions视图可以查看您的存储函数的信息?

没有人使用存储函数吗?我发现它们对于计算列等非常方便!

是否缺少特定原因sys.functions,或者只是一些被认为不够重要而无法放入sys目录视图的原因?它在 SQL Server 2008 中可用吗?

0 投票
1 回答
800 浏览

sql - MSSQL 2005 存储过程中最大的文本可用变量?

MSSQL 存储过程中最大大小的文本可用变量是多少。我看到您可以使用的最大尺寸是 varchar(8000)。

我们可以使用ntext,text等。那么它需要将varchars拼接在一起吗?

如果我使用 CLR 存储过程呢?

0 投票
4 回答
277 浏览

mysql - mysql存储函数的奇怪问题

只是为了测试,

但很奇怪:

0 投票
4 回答
8904 浏览

sql - 为什么这个 MySQL 函数返回 null?

说明: 实际运行的查询返回了4个结果,从下面可以看出,我所做的只是连接项目然后返回,但没想到它是空的。

我认为代码是不言自明的:

对于那些不认为代码不言自明的人:

为什么函数返回NULL

0 投票
1 回答
638 浏览

mysql - MySQL中的存储函数不喜欢用户提供的日期?

我在 MySQL 中有一个存储函数:

非常基本,需要一个 id、开始日期和结束日期,并返回该日期范围内的登录次数。每当我运行它时,我都会返回 0。除非我删除了 where 子句的日期部分。然后它返回一个实际数字。或者,如果我只是手动将日期放入存储的函数中,它就可以工作......所以这不是日期的问题,但只有当我通过参数列表提供日期时它才会不喜欢它。

有什么想法会导致这种情况发生吗?我可以手动将日期放入存储的函数中这一事实确实让我感到烦恼。这里并没有发生很多事情可能会搞砸,所以我有点迷失了下一步该尝试什么。

此外,有没有办法调试存储的函数/过程。我只是得到一个 0 回来,但是有没有办法让我调试它来尝试找出可能发生的事情?

0 投票
2 回答
12915 浏览

oracle - 从 ado.net 调用 Oracle 存储函数并获得结果的正确方法是什么?

我有一个使用 ado 连接到 Oracle 数据库的 vb.net 代码库。我们有很多我们调用的存储过程,其中一些带有多个输出参数。但是,我现在需要调用一个存储函数,我不清楚如何将函数的结果返回到我的 VB 代码中。

编辑:我返回一个整数。

如何从 ado.net 正确调用 oracle 存储函数?

0 投票
6 回答
15386 浏览

database - 如何在 PLSQL Developer 中测试包含 DML 的 Oracle 函数?

只需选择函数即可选择不包含 DML 的 Oracle 存储函数的返回值:

如果函数包含 DML(在这种情况下,一些插入记录传递给函数的参数),则不允许上述查询。(ORA-14551)

如何选择/查看此函数的返回值?

如果我在 plsql developer 中选择“test”,plsqldev 会产生如下内容:

如何查看“结果”变量的值?

在开始/结束块内产生

0 投票
4 回答
270 浏览

postgresql - 使用 Postgresql 作为中间层。需要意见

我需要一些意见。

我打算为朋友开发一个 POS 和库存软件。这是一个单人小规模项目,所以我想让架构尽可能简单。

我正在使用 Winform 开发 GUI(Web 界面对 POS 软件没有意义)。对于数据库,我使用的是 Postgresql。

该程序将根据用户角色控制访问,因此我必须开发一个中间层,使用 Web 服务器来控制用户访问,或者我可以直接在 Postgresql 中设置用户权限。

开发中间层会很耗时,维护也会更复杂。所以我更喜欢直接在数据库中设置访问控制。

现在看来,使用数据库来控制用户访问是很麻烦的。我必须为每个角色设置权限。更不用说对于某些表,权限是列级别的。这使得对安全性的推理变得非常困难。

所以我现在正在做的是将所有表设置为除超级用户外不可访问。该程序将使用公共角色连接到数据库。由于公共无法访问这些表,因此我将使用 SECURITY DEFINER(具有超级用户角色)创建可公开访问的存储函数。访问表的唯一方法是使用这些函数。

我将把用户角色和密码放在一个表中。因为非超级用户无法访问用户表本身,所以我将创建一个登录函数,我们称之为fn_login(username, password)。如果登录成功,fn_login 将返回一个会话密钥。

要调用其他函数,我们需要为用户提供会话密钥,例如:fn_purchase_list(session_key), fn_purchase_new(session_key, purchase_id, ...)

这样,我将存储的函数视为 API。添加新用户会更容易,因为我只需要在用户表中添加新行而不是添加新的 Postgresql 角色。我不需要在列级别设置权限。所有控件都将以编程方式完成。

所以你怎么看?这种方法是否可行且可扩展?有更好的方法吗?

谢谢!

0 投票
8 回答
180941 浏览

mysql - 查看 MySQL 中的存储过程/函数定义

什么是 MySQL 命令来查看存储过程或函数的定义,类似于sp_helptextMicrosoft SQL Server?

我知道这SHOW PROCEDURE STATUS将显示可用程序的列表。我需要查看单个过程的定义。