Eléphant du PHP |
422 Messages
12 juin 2008, 17:55
Ca n'existe pas le SQL standard.
D'un SGBD a un autre, les formats de date sont différents, les formats numériques sont différents, les longeurs de varchar sont différents, les fonctions sont différentes, le fulltext est différent, les tables méta sont différentes, ... L'autoincrément n'existe pas partout et bien sûr le LIMIT non plus. Et ne parlons même pas des fonctions procédurales TSQL, PL/SQL et autres équivalentes sous MySQL et Postgresql.
Alors, bien sûr on peut rester avec des requêtes qui font papa-maman, mais on perd toute la richesse des différents SGBD. Et si on utilise cette richesse, c'est difficile de passer d'une base à une autre. Mais on ne peut pas avoir le beurre et l'argent du beurre. Le but n'est pas non plus de disserter sur ce qu'il aurait fallu faire selon untel ou untel : il y a une situation qui est ce qu'elle est et un problème à résoudre.
Donc, pour revenir à ta question : le procédural dans SQL Server de Microsoft est sensiblement différent du procédural dans MySQL qui essaye davantage de ressembler à celui d'Oracle. En plus, dans MySQL, le procédural (fonctions, triggers, procédures stockées, ...) en est à son balbutiement, est mal documenté et très peu bavarde pour le debuggage.
Mais tu peux regarder ça
http://sourceforge.net/projects/tsql2mysql
et éventuellement poser des questions à l'auteur de ce blog qui a écrit ce programme
http://eriksdiary.blogspot.com/2006/09/ ... erter.html
ou encore ces outils
http://t-sql-editor.qarchive.org/