在MSSQL中,我可以使用:
select @desc_out=desc01
, @flag_out=flag
from A01
where id=@id_in
设置变量。
但在MySQL中,是否可以使用select
设置变量?
这是MSSQL代码:
CREATE TABLE [dbo].[A01](
[id] [varchar](4) NULL,
[desc01] [varchar](20) NULL,
[flag] [varchar](1) NULL
) ON [PRIMARY]
if (select OBJECT_ID('p_A01')) IS NOT NULL DROP proc p_A01;
CREATE proc p_A01 @id_in varchar(4),@desc_out varchar(20) output,@flag_out varchar(1) output
as
begin
select @desc_out=desc01,@flag_out=flag from A01 where id=@id_in
end;
declare @desc_out varchar(20);
declare @flag_out varchar(1);
EXEC p_A01 'A001',@desc_out output,@flag_out output;
select @desc_out, @flag_out;
请使用MySQL建议我。
答案 0 :(得分:0)
试试这样:
select @desc_out:=desc01,@flag_out:=flag from A01 where id=@id_in
即在MYSQL中设置select
变量时,您需要使用:=
而不是=
如果您在declare
中使用变量之前select
变量,那么最好还是会更好。
答案 1 :(得分:0)
使用@name:=
模式。例如:
SELECT @desc_out:=desc01 .....