தொகுதி பாடங்கள் (4/4)
நடைமுறை தூண்டுதல்கள் மற்றும் தணிக்கை
ஸ்மார்ட் புல்லட்களை (தூண்டுதல் செயல்பாடுகள்) எவ்வாறு உருவாக்குவது என்பதை இப்போது நாங்கள் கற்றுக்கொண்டோம், நிகழ்வுக்காக காத்திருக்கும் உண்மையான பிரைம் ஆயுதங்களில் அவற்றை ஏற்ற வேண்டும்: உண்மையான தூண்டுதல்கள் இதோ! ஒரு தூண்டுதல் முறையாக முன்பு உருவாக்கப்பட்ட செயல்பாட்டை இணைத்து, கொடுக்கப்பட்ட அட்டவணையில் ஒரு குறிப்பிட்ட CRUD நிகழ்வை "முன்" அல்லது "பிறகு" சுடுமாறு அறிவுறுத்துகிறது.
பல விருப்பங்கள் உள்ளன; எடுத்துக்காட்டாக, FOR EACH ROW பாதிக்கப்பட்ட வரிசைக்கு ஒரு முறை அதை இயக்குகிறது, எனவே மொத்த வினவல் 5 மில்லியன் வரிசைகளுக்கு மேல் உலகளாவிய புதுப்பிப்பாக இருந்தால், அது 5 மில்லியன் மைக்ரோ-எக்ஸிகியூஷன்களை இயக்கும் - அதில் கவனமாக இருங்கள்!
CREATE TRIGGER sync_inventory_trigger
-- Event options
AFTER INSERT OR UPDATE ON order_items
-- Modus operandi (singular or global macro-block FOR EACH STATEMENT)
FOR EACH ROW
-- Run the forged action
EXECUTE FUNCTION update_stock();தூண்டுதல் ஜாவாஸ்கிரிப்டுக்கு கண்ணுக்குத் தெரியாதது மற்றும் எஞ்சினுக்கு பாதுகாப்பாகச் சமர்ப்பிக்கப்பட்ட புதுப்பிப்புகளின் அடிப்படையில், ஸ்டாக்கைத் தன்னியக்கமாகச் சீராக வைத்திருக்கும்.
புதுப்பிக்கப்பட்டது_அட்
எங்களின் JS புதுப்பிப்பு மாடல்களில் { updated_at: new Date() } ஐக் கடந்து செல்ல மறந்த ஒரு பசுமையான வணிகச் சிக்கல் உள்ளது. ஒரு தூண்டுதல் செயல்பாடு set_updated_at ஒரு BEFORE UPDATE தூண்டுதலுடன் இணைந்து இந்தத் தொல்லையை நீக்குகிறது, ஒவ்வொரு பதிவு மாற்றத்தையும் தன்னியக்கமாகப் புதுப்பிக்கிறது.
நீங்களே முயற்சி செய்து பாருங்கள்
'trg_force_uppercase' என்ற பெயரிடப்பட்ட தூண்டுதலை உருவாக்கவும்.\n'வாடிக்கையாளர்கள்' அட்டவணையில் 'செருகுவதற்கு முன்' கட்டத்தில் அதை இணைக்கவும்.\n'ஒவ்வொரு வரிசையிலும்' வரிசை-வரிசைக் கணக்கீட்டை கட்டாயப்படுத்தி, 'force_uppercase_name' ஐ செயல்படுத்தவும்: மேலும் UDF re\nNote' குறியீட்டின் மேல் பகுதியில் 'force_uppercase_name' (சுற்றுச்சூழல் தனிமைப்படுத்தப்பட்டதால்), பின்னர் தூண்டுதல் அறிவிப்பைச் சேர்க்கவும்.
குறிப்பைக் காட்டு
உரை தொடரியல்: முதலில் செயல்பாட்டை உருவாக்கவும், பிறகு CREATE TRIGGER trg_force_uppercase ஐச் சேர்ப்பதற்கு முன், ஒவ்வொரு வரிசையிலும் வாடிக்கையாளர்களைச் செருகுவதற்கு முன், force_uppercase_name();
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
சென்சாரைக் கொல்லுங்கள்! சில சமயங்களில், சத்தமில்லாத தணிக்கைகளைத் தவிர்த்து, மூல விதை கோப்புகள் அல்லது தற்காலிக சொந்த மாற்றங்களைச் செய்ய விரும்புகிறோம்.\nஒரு தூண்டுதலை கைவிடுவது நம்பமுடியாத நேரடியானது (நீங்கள் ஆர்கானிக் செயல்பாட்டை நீக்கவில்லை, சென்சார் பிணைப்பை மட்டுமே நீக்குகிறீர்கள்).\nபெயர் மற்றும் உலகளாவிய இணைப்பைக் குறிப்பிடும் 'DROP TRIGGER' முக்கிய சொல்லைப் பயன்படுத்தவும்.
குறிப்பைக் காட்டு
எங்கிருந்து என்பதை குறிப்பிட நினைவில் கொள்ளுங்கள். வாடிக்கையாளர்களுக்கு TRIGGER_force_uppercase ஐ கைவிடவும்;
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்