mysql存储过程怎么调用自定义函数

mysql存储过程怎么调用自定义函数,第1张

创建存储过程

mysql>

delimiter

$

--

delimiter

$是设置

$为命令终止符号,代替默认的分号,因为分号有其他用处.

mysql>

create

procedure

sp_test(IN

pi_id

int,

OUT

po_name

varchar(10))

->

begin

->

select

*

from

test.tb_test

->

select

tb_test.name

into

po_name

from

test.tb_test

where

tb_test.id

=

pi_id

->

end

->

$

Query

OK,

0

rows

affected

(0.00

sec)

mysql>

delimiter

--

恢复分号作为分隔终止符号

5.调用存储过程

mysql>

set

@po_name='

Query

OK,

0

rows

affected

(0.00

sec)

mysql>

call

sp_test(1,@po_name)

回答的有点晚,正好我做到相关的项目了,希望能帮到其他人.

餐馆申请时候通过填写的地址取得经纬度存入数据库,下面是查询某个经纬度附近500米的

$user_lat='41.749034'//传过来的纬度

$user_lng='123.46017'//传过来的经度

$store_mod=db("store")//数据库

$storelist=$store_mod->query("SELECT

*,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((".$user_lat."*PI()/180-【store_latitude】*PI()/180)/2),2)+COS(".$user_lat."*PI()/180)*COS(【store_latitude】*PI()/180)*POW(SIN((".$user_lng."*PI()/180-【store_longitude】*PI()/180)/2),2)))*1000)

AS distance FROM store HAVING 【搜索条件如 state=1】 distance<【周围距离多少米 如

500】 ORDER BY distance ASC")

var_dump($storelist)

【】sql语句中括号的store_latitude,store_longitude为你数据库存的商家经纬度的字段名,其余的为注释


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8508647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存