标签归档:sqlserver

MSSQLServer存储过程移植到MySQL

MSSQL MySQL
aepara.dbo.xxx aepara.xxx
每行以go结尾 ;结尾
存储过程所有变量都用@开头 存储过程参数不需要带@
声明变量的时候不需要带@
允许delete xxx where a=b 必须delete from xxx where a=b
if a=b then
end
else
begin
end
if a=b then
begin
end;
else
begin
end;
end if;
select xx from xx
into table1
insert table1
select ….
declare @a int, @b int declare a int;
declare b int;
一个变量一句,声明时不需要@
也可以不声明,直接使用。
select ‘sname’=代码 from 遥测参数表 select 代码 as sname from 遥测参数表
tinyint
MSSql中tinyint是0~255
tinyint unsigned
tinyint 是-128到127,所以必须要加unsigned
create procedure xxx()
begin
if 1=1 then
return;
end;
create procedure xxx()
label_at_start:
begin
if 1=1 then
leave label_at_start;
end if;
end;
声明的变量不要与SQL表中的列相同
否则会造成混淆状态
比如
declare a;
set @a=10;
select * from table1 where a<@a;
永远得不到正确的结果
 drop index tmp_mondata.ind1; alter table tmp_mondata drop index ind1;