标签: stored-functions

SQL Server - "sys.functions"在哪里?

SQL Server 2005在我经常使用的系统目录上有很棒的sys.XXX视图.

让我失望的是:为什么有一个"sys.procedures"视图来查看有关存储过程的信息,但是没有"sys.functions"视图来查看存储函数的相同信息?

没有人使用存储的功能吗?我发现它们对于例如计算列等非常方便!

是否有一个特定的原因缺少sys.functions,或者它只是被认为不足以放入sys目录视图的东西?它在SQL Server 2008中可用吗?

干杯,马克

sql sql-server sql-server-2005 stored-functions

101
推荐指数
4
解决办法
7万
查看次数

在MySQL中查看存储过程/函数定义

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

我知道SHOW PROCEDURE STATUS会显示可用程序的列表.我需要看一个程序的定义.

mysql stored-procedures stored-functions

69
推荐指数
7
解决办法
14万
查看次数

Oracle中的函数与过程

任何人都能解释一下Oracle中函数和过程之间的主要区别是什么?如果我能用功能做所有事情,为什么我必须使用程序?

  1. 如果我不能在sql语句中调用过程,那么,我会写一个函数来做同样的工作.
  2. 程序不返回值,好吧,我会在任何dml操作后只返回sql%rowcount或1(成功),0(异常)
  3. 程序和函数都可以通过OUT/IN OUT参数将变量传递给调用环境

我听说主要区别在于性能,"程序比功能更快".但没有任何细节.

提前致谢.

oracle plsql stored-procedures stored-functions oracle11g

49
推荐指数
3
解决办法
8万
查看次数

为什么不建议在MongoDB中使用服务器端存储的函数?

根据MongoDB 文档,不建议使用服务器端存储的函数.这个警告背后的原因是什么?

security stored-functions mongodb

18
推荐指数
1
解决办法
4505
查看次数

如何编辑PostgreSQL存储过程?

我正在慢慢地从MSSQL迁移到PostgreSQL.

在MSSQL中,我可以调用已保存的过程或函数,管理shell(SQL Server Management Studio)显示了过程的文本,因此我不必将其源代码存储在文本文件中.

如何用PostgreSQL做同样方便的方法?我正在使用pgAdmin III.

postgresql stored-procedures stored-functions

17
推荐指数
2
解决办法
2万
查看次数

如何查看存储的函数 - SQL Server

版本:SQLServer 8

我想在sqlserver中查看存储函数的内容,即函数究竟在做什么.

这里列出的选项都不适合我.似乎没有任何名为sys.objects的数据库/表.我能够查询information_table.routines表,但不包含我正在寻找的功能.我的功能位于:

DBName.dbo.functionName

如何查看此功能的内容?

sql-server stored-functions

17
推荐指数
2
解决办法
7万
查看次数

如何使用存储的MYSQL过程中的表输出

我一直在寻找最后一小时左右,并没有找到这个看似简单的问题的确定答案:

如何调用存储的MYSQL函数/过程并在其他SELECT查询中使用其输出?


虽然这显然不起作用,但这是我想要的东西:

SELECT P.`id` FROM (CALL test_proc()) AS P
Run Code Online (Sandbox Code Playgroud)

其中test_proc()的定义如下:

DROP PROCEDURE IF EXISTS test_proc;
DELIMITER ;;
CREATE PROCEDURE test_proc()
BEGIN
    SELECT * FROM `table`;
END;;
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

仅作为一个例子.我也可以使用存储函数.

mysql select stored-procedures stored-functions

17
推荐指数
1
解决办法
2万
查看次数

通过PostgreSql函数搜索'grep-alike'

在重构PostgreSql函数时(更具体地说:在搜索'unused'函数时),有一个函数可以在函数定义中搜索特定的字符串.

有谁知道这是否是最好的方法(尝试'grep' - 搜索函数定义)还是有其他方法可用?

如何实现此功能?

postgresql refactoring stored-functions

15
推荐指数
2
解决办法
8854
查看次数

CREATE FUNCTION错误"此函数没有DETERMINISTIC,NO SQL或READS SQL DATA"

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

CREATE FUNCTION NextOrderNumber() RETURNS INTEGER UNSIGNED NOT DETERMINISTIC
BEGIN
  DECLARE number INTEGER UNSIGNED;
  UPDATE Settings SET IntegerValue=LAST_INSERT_ID(IntegerValue+1) WHERE KeyName='NextOrderNumber';
  SET number=LAST_INSERT_ID();
  return number;
END
Run Code Online (Sandbox Code Playgroud)

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

我们使用这个函数如下:

INSERT INTO Orders(OrderNumber, ...)
SELECT NextOrderNumber(), ...
Run Code Online (Sandbox Code Playgroud)

启用二进制日志记录时,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以禁止警告吗?我尝试了它,它的工作原理.这会导致任何问题吗?

mysql stored-functions

15
推荐指数
3
解决办法
3万
查看次数

在SQL中计算2,3四分位数平均值

我想在SQL(MySQL)中编写一个存储过程来计算第二和第三四分位数的平均值.

换句话说,我有记录用于测量URL加载所需的时间.记录是(id,url,time),它们是每个URL的许多度量.我要做的是为每个URL删除最低和最高25%(即较低和较高四分位数)并计算剩余25%-75%加载时间的平均值.并将其存储到另一个表中.

我在MS SQL中看到了一些这样的例子,看起来相对简单.但我必须使用MySQL:

  • LIMIT子句不支持百分比(没有类似选择前25%)
  • LIMIT子句不支持其参数为变量(仅限常量)
  • 函数不支持动态SQL(例如PREPARE和EXECUTE)

我到这里得到了:

create procedure G(
  IN val VARCHAR(10)
)
Begin
  select @cnt:=count(*) from test where a=val;
  select  @of:= @cnt /4;
  SELECT @len:= @cnt/2; 
  Prepare stmt from 'select * from test where a="a" LIMIT ?,?';
  execute stmt using @of, @len;
END;
Run Code Online (Sandbox Code Playgroud)

我可以用PHP编写它,但在SQL中考虑它会有更好的整体性能.我非常感谢你的帮助.

mysql sql stored-procedures stored-functions

13
推荐指数
1
解决办法
7433
查看次数