mysql建立自定义函数的问题
创建函数时问题马上出现:
ERROR 1418 (HY000): This routine has none of DETERMINISTIC, NO SQL,
or READS SQL DATA in its declaration and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_routine_creators
variable)
在mysql在线文档中找到解决方案,网址为:
http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html#create-procedure
只需要将log_bin_trust_routine_creators 设置为 1 即可,解决方法
在my.ini的[mysqld]下加上log-bin-trust-function-creators=1
希望各位在使用过程中碰到问题少走弯路。
相关推荐
-
浅谈mysql 自定义函数
因为工作需要,要写一个mysql的自定义行数,如下 DELIMITER $$ DROP FUNCTION IF EXISTS `onlineFunction`$$ CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR(255) BEGIN IF(rrrr='online') THEN RETURN '上线';END IF; END$$ DELIMITER ; 第一行DELIMITER 定义一个结束标识符,因为MySQ
-
在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程和用户自定义函数(下部分)
第八步:从表现层调用Managed Stored Procedures 当对数据访问层和业务逻辑层进行扩充以支持调用GetDiscontinuedProducts 和 GetProductsWithPriceLessThan这2种managed stored procedures后,我们可以在一个ASP.NET页面里展示这些存储过程的结果了. 打开AdvancedDAL文件夹里的ManagedFunctionsAndSprocs.aspx页面,从工具箱拖一个GridView控件到设计器,设其ID
-
sqlserver中的自定义函数的方法小结
"自定义函数"是我们平常的说法,而"用户定义的函数"是 SQL Server 中书面的说法. SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值. 自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数.可以使用多条 Transact-SQL 语句定义标量值函数. 如果 RETURNS 子句指定 TABLE,则函数为表值函数. 表值函数又可分为:内嵌表值函数(行内函数)或多语句函数 如果
-
SQL server使用自定义函数以及游标
编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码 包含的标准宗地 1 G001 131001BG001,131001BG002,131001BG003 2 G002 131001BG004 3 G003 131001BG005
-
MySQL 自定义函数CREATE FUNCTION示例
mysql> mysql> delimiter $$ mysql> mysql> CREATE FUNCTION myFunction -> (in_string VARCHAR(255), -> in_find_str VARCHAR(20), -> in_repl_str VARCHAR(20)) -> -> RETURNS VARCHAR(255) -> BEGIN -> DECLARE l_new_string VARCHAR(25
-
深入mysql创建自定义函数与存储过程的详解
一 创建自定义函数在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题:mysql表结构如下 复制代码 代码如下: DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `pic` varchar(50) NOT NULL, `hashcode` varchar(16) N
-
Mysql中实现提取字符串中的数字的自定义函数分享
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se
-
Sql Server中常用的6个自定义函数分享
在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理.这里搜集了(提取数字.英文.中文.过滤重复字符.分割字符的方法),方便日后查询使用. 一.判断字段值是否有中文 --SQL 判断字段值是否有中文 create function fun_getCN(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@CN nvarchar(4000) s
-
MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)
fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"中国人"->Z) 复制代码 代码如下: CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8BEGIN DECLARE V_RETURN VARCHAR(255); SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P
-
谈谈sqlserver自定义函数与存储过程的区别
一.自定义函数: 1. 可以返回表变量 2. 限制颇多,包括 不能使用output参数: 不能用临时表: 函数内部的操作不能影响到外部环境: 不能通过select返回结果集: 不能update,delete,数据库表: 3. 必须return 一个标量值或表变量 自定义函数一般用在复用度高,功能简单单一,争对性强的地方. 二.存储过程 1. 不能返回表变量 2. 限制少,可以执行对数据库表的操作,可以返回数据集 3. 可以return一个标量值,也可以省略return 存储过程一般用在实现复杂的
随机推荐
- iOS实现一个意见反馈类型的输入栏
- asp是什么格式 asp文件用什么打开
- PHP实现发送邮件的方法(基于简单邮件发送类)
- easyui Droppable组件实现放置特效
- js点击弹出div层实现可拖曳的弹窗效果
- 快速发现并改正网站中的无效链接
- Realtek HD Audio Driver安装失败的解决方法
- JAVA 时间区间的字符串合法性验证
- C#不重复输出一个数组中所有元素的方法
- C语言编程中对目录进行基本的打开关闭和读取操作详解
- MySQL出现SQL Error (2013)连接错误的解决方法
- 深入讲解PHP的对象注入(Object Injection)
- JavaScript事件委托的技术原理探讨示例
- PHP中substr_count()函数获取子字符串出现次数的方法
- Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
- JavaScript实现三级联动菜单实例代码
- 基于JavaScript实现的顺序查找算法示例
- Android仿微信列表滑动删除之可滑动控件(一)
- asp.net Execl的添加,更新操作实现代码
- 使用socket.io制做简易WEB聊天室