DECLARE @ICOUNT INT
SELECT @ICOUNT = COUNT(*) FROM TABLE1 WHERE COLUMN1 = 1--此处条件不是一个是多个。而且不固定。IF @ICOUNT = 1
UPDATE TABLE1 SET COLUMN2=2 WHENRE COLUMN1 =1
ELSE
INSERT INTO TABLE1 (COLUMN1,COLUMN2)VALUES(1,2)
上面的TSQL逻辑,如何转换为Mysql中支持的语句?
SELECT @ICOUNT = COUNT(*) FROM TABLE1 WHERE COLUMN1 = 1--此处条件不是一个是多个。而且不固定。IF @ICOUNT = 1
UPDATE TABLE1 SET COLUMN2=2 WHENRE COLUMN1 =1
ELSE
INSERT INTO TABLE1 (COLUMN1,COLUMN2)VALUES(1,2)
上面的TSQL逻辑,如何转换为Mysql中支持的语句?
SELECT COUNT(*) into ICOUNT FROM TABLE1 WHERE COLUMN1 = 1 limit 1;--此处条件不是一个是多个。而且不固定。IF ICOUNT = 1 then
UPDATE TABLE1 SET COLUMN2=2 WHENRE COLUMN1 =1;
ELSE
INSERT INTO TABLE1 (COLUMN1,COLUMN2)VALUES(1,2);
end if;mysql只能把以上逻辑写到存储过程里面
FROM TABLE1 WHERE COLUMN1=1);
INSERT INTO TABLE1 (COLUMN1,COLUMN2) ;
select distinct 1,2 FROM TABLE1 WHERE not exists(select 1
FROM TABLE1 WHERE COLUMN1=1);
SELECT vICOUNT := COUNT(*) FROM TABLE1 WHERE COLUMN1 = 1;IF vICOUNT = 1 THEN
UPDATE TABLE1 SET COLUMN2=2 WHENRE COLUMN1 =1;
ELSE
INSERT INTO TABLE1 (COLUMN1,COLUMN2)VALUES(1,2);
END IF
delimiter $$
create procedure tt(aa varchar(100))
begin
set @asql=concat('SELECT COUNT(*) into @ICOUNT FROM TABLE1 WHERE ',
aa);
prepare stml from @asql;
execute stml;
IF @ICOUNT = 1 then
UPDATE TABLE1 SET COLUMN2=2 WHENRE COLUMN1 =1;
ELSE
INSERT INTO TABLE1 (COLUMN1,COLUMN2)VALUES(1,2);
end if;
end$$
delimiter ;call tt(' COLUMN1 = 1')