sqlserver和mysql存储过程的转化
下面是sqlserver存储过程和mysql存储过程的转化:
SQL SERVER | MYSQL |
GO | 去掉GO |
create procedure之后的AS | 去掉AS |
SET QUOTED_IDENTIFIER ON、SET ANSI_NULLS ON | 去掉这两句 |
使用参数带@符号 | 使用参数前去掉@ |
create procedure()中的传入符号@参数 | @参数换成IN 参数 |
sqlserver参数直接赋值 | 参数赋值写到BEGIN下面的set语句 |
if begin......end else bgin......end | if then......else......end if |
update a set ... from a,b | update a,b set... |
update p set ... from
product p LEFT JOIN product_price pp
where p.productid= pp.productid
|
UPDATE product p LEFT JOIN product_price pp
|
convert | cast() |
return语句 |
label:BEGIN LEAVE label; # 退出存储过程 |
调用存储过程,可以直接EXEC | CALL pro(a, b) |
[dbo]. | 可以直接去除 |
select a=b赋值 | select a into b |
ISNULL(expr1,expr2) | IFNULL(expr1,expr2) |
select * from test(nolock) | 去掉(nolock) |
DATEDIFF(day,date1,date2) | DATEDIFF(date1,date2) |
--注释 | #注释 |
exec('select * from '+@tablename) |
declare msql varchar(2000); set @MyQuery='select * from '+tablename; prepare msql from @MyQuery; execute msql; |
#定义游标
declare std_cur cursor for ...... while (@@fetch_status = 0)
|
#遍历数据结束标志 declare done boolean default false; #定义游标 declare std_cur cursor for ...... #将结束标志绑定到游标 declare continue handler for not found set done=true; #打开游标 open std_cur; #当done为false时,会一直遍历,直到结束。 while !done do
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)