问题标签 [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 投票
2 回答
2774 浏览

oracle - 如何调用 Oracle 函数以使用 ODP.NET 和数据集插入数据?(具体例子)

我们真的迷失了这一点,阅读了 ODP.NET 2 Day+ 开发人员指南并没有帮助。我已经提供了函数定义(存储在一个包中),我不明白我们必须将数据集转换为什么或传递函数的内容。这是函数定义:

这是我们所做的(什么都不做):

我知道这是一个非常具体的问题,但我真的迷路了。让我们假设 Oracle 函数 ins 工作(它确实),在这种情况下,我们根本不知道如何使用 ODP.NET 正确调用它

非常感谢您的帮助。

编辑:这是错误消息:

ORA-06550:第 1 行,第 15 列:PLS-00306:调用“INS”时参数的数量或类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略

亲切的问候,河豚

0 投票
4 回答
351 浏览

sql - 努力看到我的方式的错误(mysql函数)

(请参阅下面的答案以获取解决方案 - 感谢您的反馈)

这可能很明显,但我看不出我的 sql 有什么问题:

以下作品更令人沮丧:

(注意,可能还有其他方法可以在各个级别截断日期 - 我当然有兴趣了解它们,我真的很想知道我的语法有什么问题 - 不是计算句点开始的不同方法) .

是的,second() 是一个有效的函数,而SECOND 是一个有效的区间

TIA

0 投票
1 回答
158 浏览

entity-framework - 实体框架功能/存储过程更新

如果我更改函数的底层存储过程并更新复杂类型;整个模型也必须更新吗?

0 投票
1 回答
332 浏览

c# - Linq To SQL 中的简单过程

我的应用程序是客户端-服务器设置,客户端向服务器询问给定区域中的对象。它将向服务器发送 x 和 y 坐标以及半径。然后,服务器必须在 SQL Server 数据库中查询指定区域中的对象。在数据库中,对象由它们的 x 和 y 坐标存储。

首先,我在通过 WCF 传递给服务器contains的对象中尝试了一个方法。Region好吧,这当然不起作用,因为它无法将方法转换为 T-SQL。但是我已经看到在 linq 查询中使用了简单的 lambda 表达式,所以我尝试了这个:

不幸的是,这也不起作用——我读过Linq to SQL 查询中允许使用某些函数,但我猜数学函数不在其中?我需要一个存储功能吗?存储的函数会是什么样子(我从未在 T-SQL 中编写过)?我可以将 C# 对象传递给函数并避免提取每个值以传递给数据库服务器吗?我的意思是,当我将存储的函数添加到 linq-to-sql 类设计器时,我可以让它接受一个对象并在那时提取值吗?

请注意,检索每个对象并在 C# 中过滤它们不是一个选项。

0 投票
1 回答
377 浏览

c# - 包装 linq-to-sql 函数签名

我有一个存储函数,例如:

它需要 5 个浮点参数——但问题是,我的 C# 项目中有代表这些值的对象。

所以我打开Visual Studio,将存储的函数拖到DBML设计器中,我得到了一个神奇的函数签名,其中包含所有这些double参数。有没有办法为此创建一个在我更新 DBML 时不会中断的包装器?我想创建一个函数,它接受两个类型化的参数,从这些对象中提取相关值,然后将它们发送到存储过程——同时仍然允许从 linq 查询中调用该包装函数。VS 支持这个吗?

0 投票
2 回答
1409 浏览

postgresql - 如何在 PL/Python PostgreSQL 例程中返回二进制字符串 (bytea)?

我目前正在尝试在 PL/Python 中编写一个过程来执行一些数据的转换,然后将结果作为bytea. (实际上,这很丑:在 OCaml 中编组数据!在 Python 和 OCaml 中同时出现丑陋;我应该获得奖牌吗?)

这是它的样子:

简而言之,它将一个小的 OCaml 程序写入一个临时文件,该临时文件创建另一个包含我们想要的数据的临时文件。然后我们读入那个临时文件,销毁它们,然后返回结果。

只是它不太有效:

每个有四个字节(应该有〜130)。如果我停止它取消链接文件,那么原因就很明显了;有四个非 NUL 字节,后跟几个 NUL,并且在从 Python 到 Postgres 的转换过程中,这些 NUL 似乎在某个阶段被视为终止符!

有谁知道为什么会发生这种情况,或者如何阻止它?文档没有启发性。

谢谢!

编辑:我发现其他人有同样的问题,但解决方案相当不令人满意。

0 投票
2 回答
28737 浏览

mysql - 如何在 MySql 程序中抛出错误?

强制 MySQL 在存储过程中抛出错误的机制是什么?

我有一个调用另一个函数的过程:

作业命令是:

然后:

我的工作。exec总是成功的。有没有办法提高错误?如何实现raise_mysql_error函数??

顺便说一句,我正在使用 MySQL 5.5.8

谢谢阿曼。

0 投票
8 回答
45192 浏览

mysql - CREATE FUNCTION 错误“此函数没有 DETERMINISTIC、NO SQL 或 READS SQL DATA”

我们的数据库具有生成订单号的功能。它从设置表中读取一个值,将其递增,然后返回新值。例如:

注意:不要批评这个功能我知道它有缺陷它只是为了说明。

我们使用这个函数如下:

启用二进制日志记录后,CREATE FUNCTION 会出现此错误:

此函数在其声明中没有 DETERMINISTIC、NO SQL 或 READS SQL DATA,并且启用了二进制日志记录(您可能希望使用不太安全的 log_bin_trust_function_creators 变量)

不管binlog_format设置什么,上面的功能真的有问题吗?根据我对相关MySQL 页面的阅读,我看不出这个函数与复制不兼容的任何原因,无论是 ROW 还是 STATEMENT 级别的二进制日志记录。

如果函数是安全的,设置全局 log_bin_trust_function_creators=1 会让我感到不安。我不想为所有功能禁用此检查,仅此一项。我可以改为将函数标记为 NO SQL 以抑制警告吗?我试过了,它奏效了。这会导致任何问题吗?

0 投票
1 回答
118 浏览

mysql - MySQL 几何偏移量测试

我正在寻找编写一个偏移函数来测试移动物体与空间中其他可移动和固定物体的接触。
为了对此进行测试,我需要查看它们的边界矩形是否相交。

我想测试两个可移动物体是否像这样接触:Table car
- id: integer (autoinc primary)
- rect: Linestring
- ...

表位置
- id: integer (autoinc primary)
- car_id: integer
- car_date: date
- car_pos: point
- ...

FUNCTION MyDB.OffsetRect(pLineString GEOMETRY, pOffset POINT) RETURNS geometry BEGIN
declare Result LineString;
declare P1 Point;
declare P2 point;
declare P3 point;
declare P4 point;
set Result = ENVELOPE(pLineString); /Make sure we are dealing with a rect/
set P1 = POINTN(Result,1);
set p1 = Point(X(p1)+X(pOffset),Y(p1)+Y(pOffset));
set P2 = POINTN(Result,2);
set p2 = Point(X(p2)+X(pOffset),Y(p2)+Y(pOffset));
set P3 = POINTN(Result,3);
set p3 = Point(X(p3)+X(pOffset),Y(p3)+Y(pOffset));
set P4 = POINTN(Result,4);
set p4 = Point(X(p4)+X(pOffset),Y(p4)+Y(pOffset));
set Result = LineString(p1,p2,p3,p4);
RETURN Result;
END

但是我被困在使用什么查询来查看两辆车是否及时相交。就像是。

但是这不起作用,有什么问题?

0 投票
2 回答
2385 浏览

php - 使用 MySQLi 从 PHP 调用 MySQL 存储函数时出现致命错误

服务器详情:
PHP v5.3.5
使用 MySQLi 库客户端 api 版本:mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL Server v5.5.9

我在 MySQL 中有一个名为 f_get_owner_locations( _in int ) 的存储函数。它构造一个文本变量,保存特定所有者拥有的任何公寓的位置。如果我运行一个

从 MySQL 命令行,它会做它应该做的事情并返回一行:

但是,每当我尝试使用 MySQLi 库通过 PHP 运行它时:

我收到此错误:

该行指的是:

请记住,当 SQL 语句不涉及函数调用时,它不会失败。即这有效:

但是,一旦我添加了将他们拥有的公寓放入其中的需求(并且此语句也可以通过 MySQL 命令行工作):

它给了我关于在非对象上调用成员函数的错误。

我难住了。在 while 循环之前对 $result 执行 var_dump,在我的 _bindResults 方法中给了我 1 个正确的转储,然后停止并且该错误就在那里。

注意:对 f_get_owner_locations 的调用是该选择列表中的第二个字段,因此它没有存储正确的字段计数,尽管它说它需要循环到正确数量的字段。

任何绕过这个小障碍的建议或确认这是 MySQLi 库中的错误或我的绑定代码的问题将不胜感激。

更新:以下代码:

给了我这个输出:

我更想知道这是否只是 PHP/MySQLi 的失败而不是我的?

更新 2:
根据要求,用于创建函数的代码:

允许进行一些可能会更清洁的重构,但这就是我使用的。