您现在的位置: 软界网资讯中心软件技术数据库MySQL > 资讯显示
行业新闻|互联网|信息安全|软件评测|游戏娱乐|人才新闻|展会信息|软件技术|精英访谈|公司新闻      
理解 CREATE FUNCTION/DROP FUNCTION语法
2007-11-30 0:00:00   网友评论       阅读次数 点此评论
  

  一个自定义函数 (UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。

  CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL}

  SONAME shared_library_name

  DROP FUNCTION function_name

  function_name 是 用在SQL声明中以备调用的函数名字。RETURNS 子句说明函数返回值的类型。 shared_library_name 是共享目标文件的基本名,共享目标文件含有实现函数的代码。该文件必须位于一个能被你系统的动态连接者搜索的目录里。

  你必须有mysql 数据库的INSERT 权限才能创建一个函数,你必须有mysql 数据库的DELETE权限才能撤销一个函数。这是因为CREATE FUNCTION 往记录函数名字,类型和共享名的mysql.func系统表里添加了一行,而DROP FUNCTION则是从表中删掉这一行。如果你没有这个系统表,你应该运行mysql_fix_privilege_tables脚本来创建一个。

  一个有效的函数是一个用CREATE FUNCTION加载且没有用DROP FUNCTION移除的函数。每次服务器启动的时候会重新加载所有有效函数,除非你使用--skip-grant-tables参数启动mysqld。在这种情况下, 将跳过UDF的初始化,UDF不可用。

  要使得UDF机制能够起作用,必须使用C或者C++编写函数,你的系统必须支持动态加载,而且你必须是动态编译的mysqld(非静态)。

  一个AGGREGATE函数就像一个MySQL固有的集合(总和)函数一样起作用,比如,SUM或COUNT()函数。要使得AGGREGATE 起作用,你的mysql.func表必须包括一个type列。如果你的mysql.func表没有这一 列,你应该运行mysql_fix_privilege_tables脚本来创建此列。

      来源: 作者:
【评论查看】
更多关于 MySQL Vista  的新闻
07年十佳IT产品 Windows XP挤掉Vista/图 2007-12-7 0:00:00
XP SP3多数功能借鉴Vista 安装将无需密码 2007-12-6 0:00:00
Vista SP1反盗版有新招 30天不激活就黑屏 2007-12-5 16:35:27
微软:Windows Vista盗版率只相当于XP一半 2007-12-5 16:35:25
微软改变对待盗版Vista策略 态度不再强硬 2007-12-5 16:34:02
      
热点新闻
·《春秋Q传》全新师徒系统即将上线
·Photoshop实例:调出MM清
·CAT开出48亿罚单 华为高层赴泰
·"中国黑客门"调查:被攻击国家三缄
·美"国安小黑屋"曝光:监视全球网民
·还原美丽:Photoshop美女磨
·炫出我的个性!QQ皮肤绘制全程实录
·防QQ密码被盗的十项技巧
·微软否认"Vista可能引起网络性
·Adobe将推在线版免费Photo
热门评论
·惠普连续5个季度压制戴尔 稳居PC
·Photoshop实例:调出MM清
·起价3000元 龙芯电脑首次接受消
·Adobe将推在线版免费Photo
·西门子开展举报行动 已接到部分举报
·微软否认"Vista可能引起网络性
·防QQ密码被盗的十项技巧
·还原美丽:Photoshop美女磨
·赛迪顾问与微软发布中国IT服务产业
·戴尔正酝酿“iPhone杀手” 明