mysql pl/sql

A kérdésem, hogy a mysql-nek van e a pl/sql -hez hasonló nyelve, amivel pl. triggerek lehet írni.

Mondjuk gondolom van, csak nem tudom a nevét, így nem nagyon találtam róla semmit a google-el.

Szóval:

  • - Mi a neve?
  • - Hol van hozzá howto?

Hozzászólások

mysql.com -on van egy kivalo reference, tessek hasznalni vagy google-vel keresni.
pl. google://trigger site:mysql.com

Az 5.0 óta van valamicske:

- Triggers
- Stored Procedures

De messze nem közelíti meg mondjuk a PL/SQL vagy az MSSQL programozhatóságát. MySQL-nek kiváló és teljességre törekedő doksija van, érdemes olvasgatni...

Ha PL/SQL -re van szükséged, akkor a PostgreSQL a te open-source barátod.

--
The Net is indeed vast and infinite...
http://gablog.eu

Mire jok ezek az rdbms address space-eben futo, gagyi interpretalt nyelvek? Tipikusan holt gagyik, lassuak, es szettoredezik a kodbazis tobbfele (szerverkod + adatbazis-kod), ami a menedzselhetoseget igen csunyan rontja.

Teljesen egyetertek a mysql dontesevel, hogy ezeket kihagytak. Felesleges es bonyolult.

Konkretan az egyetlen normalis implementacio, amit eddig lattam, az az oracle jvm volt - egy, az oracle address space-eben futo java vm. Azert a java kb. 2 nagysagrenddel kulturaltabb es teljesebb nyelv, a teljesitmenyrol nem is beszelve. Annak van ertelme, bar meg annak is eleg marginalis.

Ami PLSQL-t eddig lattam, mind szetganyolt elbaszott menedzselhetetlen projekt volt... :(

+1, azért mert valaki (még) nem használta (értelmes dologra), még igencsak hasznos tud lenni...

Pl.: mssql-nél lehet a tárolt eljárásokból optimalizált bytekódot fordítani, ami megint nagyságrendekkel jobb mint egy webserveren futó php vagy egy munkaállomáson futó java kliens hatékonysága. Főleg ha azt is figyelembe vesszük, hogy ilyenkor sokkal szebben lehet pl. bizonyos művelet atomicitását megoldani, és kevesebb (tranzakciók miatt) lockolt mezővel mindenki jól jár.

Persze ez nem az (UPDATE emplyees SET salary=salary*1.1) volumenű projektek esetében realizálódik.

--
The Net is indeed vast and infinite...
http://gablog.eu

De itt megint csak arra lyukadunk ki, hogy van egy rosszul kivalasztott szerver-nyelv (php), es ennek a teljesitmeny/egyeb problemait probalod athidalni ezzel a megoldassal.

A lockolasra a megoldas a normalis adatbazis-szerkezet (nem a normal formakra gondolok - az a kezdoknek valo), ahol mar a tervezes fazisaban vegiggondoljak a leggyakoribb muveleteket, es arra optimalizaljak a szerkezetet.

Ettol fuggetlenul tenyleg van egy par eset, amikor sokat tud segiteni es tenyleg iszonyu jol jon, de nem hiszem, hogy par 10soros kod indokolja egy komplett nyelv+platform implementalasat egy adatbazis-szerverbe.

Nade ezert vannak 3-tier architekturak esatobbi. Vagyis van egy szerver az adatbazis es a kliens kozott, mert rengeteg dolog van, amit plsql-bol nem fogsz megoldani (hulye pelda: tcp-n keresztul frissiteni a banki arfolyamokat).

Ha meg van szep eros szerverunk, minek terheljuk az amugy is terhelt adatbazis vasat?

Azt persze ugye nem felejtjük el, hogy az oracle képes natív plsql kódot generálni, ami nagyságrendekkel gyorsabb lesz, mint az interpretált?

10g ficsor.

mondjuk az ilyet akkor érdemes használni, ha nagy számításigényes algoritmusokat akarsz leprogramozni, mert abban segít a natív kód. ha televágod sql-ekkel meg tranzakciókkal, akkor alig fog gyorsítani.

--
deejayy DOT hu

Köszönöm a választ mindenkinek.

Sajnos 4-es sorozatú mysql-t tudok csak használni, postgresre meg egyáltalán nincs lehetőség, így ugrott az egész terv:(

------------------------------------------------------
Aki utoljára nevet, annak van 56k-s modeme.

A MySQL SQL Standard tarolt eljarasokat hasznal:

"ISO/IEC 9075-4:2003 specifies the syntax and semantics of statements to add a procedural capability to the SQL language in functions and procedures. It includes statements to direct the flow of control, define variables, make assignments and handle exception conditions."

ISO/IEC 9075-4:2003 – Persistent Stored Modules (SQL/PSM)

Nem titok, ahol hostolják az oldalt, ott az van. De már be van igérve a frissítés, csak sok vele a nyűg / sokáig tart (vagy mifene).
Php 5 is csak most lett nemrég.

------------------------------------------------------
Aki utoljára nevet, annak van 56k-s modeme.