Mysql Stored Procedure Hatası
-
mysql de bir sp yazayım dedim burnumdan geldi valla.. adam gibi kaynak da bulamadım. mssql de problemsiz yapıyorum ama mysql lazım bana
3 tane hata oluşuyor. anlamadım ne iştir. bazıları diyor ENDIF birleşik olacak. sonunda noktalı virgül olacak. koysan da koymasan da ayırsan da ayırmasan da hep hata veriyor :S.. ama if leri sildiğimde sadece sorgu varsa problem yok. if in syntaxı na baktım bi sıkıntı yok gibi ?

http://dev.mysql.com/doc/refman/5.0/en/if.html
-
Linkteki örnekteki gibi DELIMETER lı ve şu sorguların sonuna ";" koymayı denedin mi ?
select * from ProfessionList;
ve
Select * from ProfessionList where IsActive == 1;
gibi ?
Examples: http://net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/
SpArK tarafından 09/Şub/13 17:24 tarihinde düzenlenmiştir -
DELIMITER yazınca aşağıdaki hata veriyor. delimiter in sonuna // da $$ yaptım hata aynı..

select sorgusunun sonuna noktalı virgül koyunca da bi şey değişmiyor. çünkü hata then ve else den kaynaklı.
verdiğin örnek de aynı hocam. delimiter yazdığımda sıkıntı oluyor. başına da sonuna da // koydum ama olmuyor..
unbalanced tarafından 09/Şub/13 17:27 tarihinde düzenlenmiştir -
unbalanced bunu yazdı
Şu tip bir örneği çalıştırabiliyor musun bir bakar mısın ?
- DELIMITER //
- CREATE PROCEDURE `proc_IF` (IN param1 INT)
- BEGIN
- DECLARE variable1 INT;
- SET variable1 = param1 + 1;
- IF variable1 = 0 THEN
- SELECT variable1;
- END IF;
- IF param1 = 0 THEN
- SELECT 'Hello World !';
- ELSE
- SELECT 'Hello World !';
- END IF;
- END //
-
sanırım bilmeden uyuşturucu falan kullanıyorum ben :S
sorunu çözdüm :)
bu mysql değil mssql neden mysqlmiş gibi davrandım bilemedim. beyin fonksiyonlarımı yitiriyorum galiba :S
Create PROCEDURE [dbo].[GetProfessionList] ( @IsAll BIT ) AS BEGIN IF (@IsAll = 1) Select * from ProfessionList ELSE Select * from ProfessionList where IsActive=1 END
-
SpArK bunu yazdıunbalanced bunu yazdı
Şu tip bir örneği çalıştırabiliyor musun bir bakar mısın ?
- DELIMITER //
- CREATE PROCEDURE `proc_IF` (IN param1 INT)
- BEGIN
- DECLARE variable1 INT;
- SET variable1 = param1 + 1;
- IF variable1 = 0 THEN
- SELECT variable1;
- END IF;
- IF param1 = 0 THEN
- SELECT 'Hello World !';
- ELSE
- SELECT 'Hello World !';
- END IF;
- END //
sağolasın hocam ilgin için :) ben mysql kullandığımı sanıyordum. db leri karıştırdım. azure platformdaki mssql kullanıyor.. ama navicat kullanıyorum iletişim için oradan mysql gibi düşündüğüm için böyle oldu :)
-
konu silienebilr gereksiz bir konu oldu
unbalanced tarafından 09/Şub/13 17:36 tarihinde düzenlenmiştir
