Merhabalar,
Ms Sql de yazdığım aşağıdaki sql kodunu My sql de nasıl yazabilirim.
CREATE PROCEDURE SP_MYPROC
@XMLID AS INT
AS
DECLARE @SAY AS int
SET @SAY=(SELECT COUNT(*) FROM tblInfo WHERE XMLID=@XMLID)
IF @SAY>0 THEN
BEGIN
UPDATE tblInfo SET NAME='Deneme' WHERE XMLID=XMLID
END
ELSE IF
INSERT INTO tblInfo (XMLID,NAME) VALUES (@XMLID,'Deneme')
END IF
------------------------------------------------------------------------------------------------------------------
Yukarıda yazamadığım kod aşağıdaki şekilde yazdımda SAY 0 olduğunda INSERT kodunun çalışması lazım ama çalışmıyor. Hata nerde sizce. Kayıt bulunamadığında SAY değeri 0 mı olur yoksa nothing bir değermi olur?
BEGIN
DECLARE SAY INTEGER;
SET SAY=(SELECT COUNT(*) FROM tblgames WHERE XMLID=XMLID AND XMLLINESID=XMLLINESID);
IF SAY>0 THEN
UPDATE tblgames SET NAME=NAME,URL=URL,ACTIVE=ACTIVE,ISDELETED=ISDELETED WHERE XMLID=XMLID AND XMLLINESID=XMLLINESID;
ELSE
INSERT INTO tblgames (XMLID,XMLLINESID,NAME,URL,ACTIVE,ISDELETED) VALUES (XMLID,XMLLINESID,NAME,URL,ACTIVE,ISDELETED);
END IF;
END
Ms Sql de yazdığım aşağıdaki sql kodunu My sql de nasıl yazabilirim.
CREATE PROCEDURE SP_MYPROC
@XMLID AS INT
AS
DECLARE @SAY AS int
SET @SAY=(SELECT COUNT(*) FROM tblInfo WHERE XMLID=@XMLID)
IF @SAY>0 THEN
BEGIN
UPDATE tblInfo SET NAME='Deneme' WHERE XMLID=XMLID
END
ELSE IF
INSERT INTO tblInfo (XMLID,NAME) VALUES (@XMLID,'Deneme')
END IF
------------------------------------------------------------------------------------------------------------------
Yukarıda yazamadığım kod aşağıdaki şekilde yazdımda SAY 0 olduğunda INSERT kodunun çalışması lazım ama çalışmıyor. Hata nerde sizce. Kayıt bulunamadığında SAY değeri 0 mı olur yoksa nothing bir değermi olur?
BEGIN
DECLARE SAY INTEGER;
SET SAY=(SELECT COUNT(*) FROM tblgames WHERE XMLID=XMLID AND XMLLINESID=XMLLINESID);
IF SAY>0 THEN
UPDATE tblgames SET NAME=NAME,URL=URL,ACTIVE=ACTIVE,ISDELETED=ISDELETED WHERE XMLID=XMLID AND XMLLINESID=XMLLINESID;
ELSE
INSERT INTO tblgames (XMLID,XMLLINESID,NAME,URL,ACTIVE,ISDELETED) VALUES (XMLID,XMLLINESID,NAME,URL,ACTIVE,ISDELETED);
END IF;
END