Import SQL příkazů
Mám v php proměnné několik SQL příkazů. Jsou oddělené středníkem (šéf o jiném oddělovači nechce ani slyšet). A potřebuju, aby se postupně provedly, ovšem nikoli pomocí multiquery, to náš framework neumí (a jiný mám zakázáno použít), ale jako jednotlivé příkazy. Když to rozdělím na jednotlivé příkazy pomocí Explode, tak je problém, když se třeba v updatu vyskytne středník v textu. Šéf radí použít preg_match_all, nemáte tip, jak by ty reg. výrazy měly vypadat, aby fungovaly pro všechny možné SQL příkazy?
Dík
jsem teda jen blbej ajťák, ale za "správným" oddělovacím středníkem musí IMHO následovat nějaké "úvodní" klíčové slovo z dalšího SQL dotazu, a těch IMHO zase tolik není (SELECT, INSERT, CREATE, DROP, UPDATE, TRUNCATE,...).
Než se pinožit s parserem, tak bych šel cestou nejmenšího odporu..
tolik jich zase neni ? ALTER, CREATE, DROP, INSERT, SELECT, UPDATE, INSERT ALL,ANYLYZE,COMPUTE, STATISTICS, SAVEPOINT, ROLLBACK,COMMIT, AUDIT, CALL, COMMENT, EXEC, ASSOCIATE,GRANT,LOCK, REVOKE,NOAUDIT,PURGE,RENAME, MERGE,EXPLAIN, FLASHBACK,SET...a BEGIN, a DECLARE..
Nehledě na to, ze to porad neni split se 100% uspesnosti (nebo nektere stringy to taky nezparsuje), to bych dal radeji prednost tomu regulernimu vyrazu s tim sudym poctem uvozovek.
Ackoliv rozumne by bylo nemrdat prikazy do jednoho (nebo s nejakym unikatnim oddelovatkem) a dat kurna do tabulky, kde bude prikaz na radku, jak to ma byt.
furt je to ale jen o konečném výčtu, který se dá cyklem zpracovat.
kazda kombinace pismenek omezena velikosti media je konečná, tedy výčet
a nevidim duvod proc vycet, ktery porad nepodchyti vsechny pripady, to radeji split podle toho jednodussiho regulerniho vyrazu s pocetem sudych uvozovek. A kvuli bilem znakum to musi byt regulerni vyraz chca ci necha
Vymenit sefa a potom dat na vstup oddelene prikazy.
to je ale klasická Utopie
ale precizni a spravne reseni
to jistě, ale znáš to, teorie šedivá, zelený strom života.. aneb věděl to už von Goethe