首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL存储函数:是否包含SQL?

问MySQL存储函数:是否包含SQL?
EN

Stack Overflow用户
提问于 2013-02-18 15:32:04
回答 1查看 2.2K关注 0票数 4

对于下面存储的函数,哪个是正确的标志:包含SQL还是不包含SQL?

代码语言:javascript
复制
CREATE FUNCTION BigIntHash(str VARCHAR(255)) RETURNS BIGINT UNSIGNED DETERMINISTIC
RETURN CONV(SUBSTRING(CAST(SHA(str) AS CHAR), 1, 15), 16, 10)

和

代码语言:javascript
复制
CREATE FUNCTION upi(a VARCHAR(14), b INT(8) UNSIGNED, c VARCHAR(13)) RETURNS BIGINT UNSIGNED DETERMINISTIC
RETURN IF(a IS NULL, 
  IF(b IS NULL, 
    IF(c IS NULL, 
      NULL, 
      BigIntHash(CONCAT("a-", a))
    ), 
    BigIntHash(CONCAT("b-", b))
  ), 
  BigIntHash(CONCAT("c-", c))
)

定义在http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html上,但我仍然不确定:

  • 包含SQL表示例程不包含读取或写入数据的语句。如果没有显式地给出这些特征,则这是默认的。此类语句的示例设置为@x =1或DO RELEASE_LOCK('abc'),它们执行但既不读也不写数据。
  • NO 表示例程不包含任何SQL语句。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-18 15:44:19

两者都是NO SQL,因为它们不访问表、游标或变量中的数据。

有关什么构成SQL语句的参考,请参见:http://dev.mysql.com/doc/refman/5.1/en/sql-syntax.html

注意,在本章中没有提到像CONV()、SHA()或CONCAT()这样的函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14939786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档