අලුත් ලිපි

මූනු පොතේ අපේ ඉසව්ව

Showing posts with label ට්‍රිගර්ස්. Show all posts
Showing posts with label ට්‍රිගර්ස්. Show all posts

Tuesday, August 14, 2012

ස්ටෝර්ඩ් ප්‍රොසීඩියර් ද මොනාද ඒවා

MySQL දත්ත සංචිත භාවිතා කරන්නකුට වැදගත් අංශයක්,



ස්ටෝර්ඩ් ප්‍රොසීඩියර්, මයි ඇස් කිව් ඇල්, ඇම් ඇස් ඇස් කිව් ඇල් වගේ දත්ත සංචිත භාවිතා කරන එක්ස්පර්ට් කෙනෙකුට නම් මේ   වචනය එතරම් අමුතු දෙයක් නොවන බව කියන්න පුලුවං. ඒත් මේ ගැන එතරම් දැනීමක් නැති MySQL දත්ත සංචිත භාවිතා කරන්නකුට මෙම දේ වැදගත් විය හැකියි.

ස්ටෝර්ඩ් ප්‍රොසීඩියර් කියන්නේ MySQL වගේ තවත් බොහෝ තැන්වල භාවිතා කරන Database තුල ගබඩා කර ඇති වැඩසටහන් (Program) කොටසක්. මෙම වැඩසටහන් කොටස තුල SQL Queries එකක් හෝ කිහිපයක් අඩංගු කල හැකිවේ. SQL Queries සදහා ලබාදිය යුතු විචල්‍යන්ද මෙම ස්ටෝර්ඩ් ප්‍රොසීඩියර්  තුලට ඇතුලත් කල හැක.

Thursday, July 19, 2012

SQL ට්‍රිගර්ස් ගැන දන්නවද?





SQL trigger ලෙස හදුන්වන්නේ database table එකක් තුල සිදුවන යම්කිසි ක්‍රි යාකාරකමක් නිසා ක්‍රියාත්මක වන SQL statement එකක් හෝSQL statements කිහිපයකිමෙහිදී ක්‍රි යාකාරකමක් ලෙස හැදින්වූයේ INSERT, UPDATE  හෝ DELETE යන ක්‍රි යාවක් සිදුවීමයිමෙයදbefore හෝ after ලෙස INSERT, UPDATE  හෝ DELETE යන ක්‍රි යාවක් සිදුවීමයට පෙර හෝ පසු සිදුවන ආකාරයට යොදා ගත හැකඑසේසැලකූ විට ඕනෑම table එකක් සදහා SQL trigger 6ක් ලිවිය හැකඑක් SQL trigger එකක් තුල ඕනෑ තරම් SQL statements භාවිතාකල හැක.


සරලව පැවසුවහොත් සරල SQL statement එකක් මගින් එක් table එකක් තුල සිදුකරන සුලු වෙනස්කමකින් උවද table ඕනෑ ප්රමාණයකවිශාල වශයෙන් වෙනස්කම් සිදුකල හැකමෙය යොදාගැනීමෙන් user කෙනෙකුගේ මැදිහත්වීමෙන් run කලයුතු php හො වෙනත් scriptගනනාවකින් සිදුවන ක්රියාවලිය backend තුලින් ඉතා සරලව සිදුකරගතහැක.


උදාහරණයක් ලෙසින් දත්ත INSERT කිරීමක දී එම දත්ත වල වලංගු භාවය පරීක්ෂාකර වලංගු දත්ත පමණක් INSERT කිරීමට හා/හෝ වැරැදිදත්ත වෙනත් table එකක් තුලට යැවිය යුතුනම් SQL trigger එකක් before INSERT සදහා ලිවීමෙන් එය සිදුකල හැකමෙහිදී user කෙනෙකුගේමැදිහත්වීමක් error check කිරීම සදහා අවශ් නොවේSQL triggers MySQL, SQL Servers, MS SQL වැනි ඕනෑම තැනක භාවිතා කල හැක.



MySQL තුලදී trigger .trg ලෙසින් දත්ත directory තුල සකස්වේ.

/data_folder/database_name/table_name.trg
MySQL සදහා trigger ලියන අයුරු...
1. CREATE TRIGGER - අනිවාර්ය වේ.
2. table නම
3. before හෝ after යන්න
4. FOR EACH ROW BEGIN
5. SQL statements - අවශ්යතාවය පරිදි
6. END$$ - අවසානය
උදාහරණයක්....
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON employees
FOR EACH ROW BEGIN
INSERT INTO employees_audit SET action = 'update',
employeeNumber = OLD.employeeNumber, lastname = OLD.lastname,changedon = NOW();
END$$





මෙහි නියම ලිපිය - http://www.edulanka.lk/information-technology/databases/sql-triggers