MySql Triggers

isurutmv

Well-known member
  • May 1, 2013
    1,936
    823
    113
    29
    Gampaha

    mcn table dekak thiyenawa Products and stocks kiyala stocks kiyana table ekata data ekak insert karapuwama ee table eke insert karapu qty column eke value eka Product table eke thiyena qty column eke value ekata ekathu wela product table eka update wenna oone mekata trigger ekak liyanne kohomada bn
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,155
    4,053
    113
    invoke db "Injected Memory"
    3 පරක් විතර කියෙව්වා පැහැදිලි නැ බං, පොඩ්ඩක් ඉන්න තව දෙතුන්පාරක් කියවලා බලන්න
     

    isurutmv

    Well-known member
  • May 1, 2013
    1,936
    823
    113
    29
    Gampaha
    3 පරක් විතර කියෙව්වා පැහැදිලි නැ බං, පොඩ්ඩක් ඉන්න තව දෙතුන්පාරක් කියවලා බලන්න

    mehemayi mcn table dekak thiyenawa me widihata

    Products table
    *product_id
    *product_name
    *price
    *qty

    stock table
    *stock_id
    *product_id
    *date
    *qty

    dan mata oone stock table ekata aluthin row ekak add karapuwama ee row eke thiyena qty eke valu eka product table eke qty value ekata ekathu karala product table eke adala product eka update karanna oone
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,155
    4,053
    113
    invoke db "Injected Memory"

    mehemayi mcn table dekak thiyenawa me widihata

    Products table
    *product_id
    *product_name
    *price
    *qty

    stock table
    *stock_id
    *product_id
    *date
    *qty

    dan mata oone stock table ekata aluthin row ekak add karapuwama ee row eke thiyena qty eke valu eka product table eke qty value ekata ekathu karala product table eke adala product eka update karanna oone


    අහ්, දැන් තේරුනා, උබ සිස්ටම් එක හදන්න යන්නෙ මෙහෙම..
    Products කියලා Table එකක් තියෙනවා, ඒකේ තමයි අප් ප්‍රඩක්ට්ස් ටිකයි, ස්ටොක්ක් එකයි දෙකම තියෙන්නෙ.

    තව ටේබල් එකක් තියෙනවා, stock කියලා, ඒකට තමයි අලුතෙන් ස්ටොක් එකක් ආවම එක enter කරගන්නෙ, එත්කොට අද 10 ක් purchase කරා නම් stock ටේබල් එකට අද ඩේට් එකට් එක්ක 10 යි කියලා row එකක් insert වෙනවත් එක්කම අර Products ටේබල් එකේ ඒ ප්‍රඩක්ට් එකේ Stock එක තියෙන column එක update වෙන්න ඕන. එහෙම නේද ?
     

    isurutmv

    Well-known member
  • May 1, 2013
    1,936
    823
    113
    29
    Gampaha
    අහ්, දැන් තේරුනා, උබ සිස්ටම් එක හදන්න යන්නෙ මෙහෙම..
    Products කියලා Table එකක් තියෙනවා, ඒකේ තමයි අප් ප්‍රඩක්ට්ස් ටිකයි, ස්ටොක්ක් එකයි දෙකම තියෙන්නෙ.

    තව ටේබල් එකක් තියෙනවා, stock කියලා, ඒකට තමයි අලුතෙන් ස්ටොක් එකක් ආවම එක enter කරගන්නෙ, එත්කොට අද 10 ක් purchase කරා නම් stock ටේබල් එකට අද ඩේට් එකට් එක්ක 10 යි කියලා row එකක් insert වෙනවත් එක්කම අර Products ටේබල් එකේ ඒ ප්‍රඩක්ට් එකේ Stock එක තියෙන column එක update වෙන්න ඕන. එහෙම නේද ?


    anna hari mcn mata oone oketa trigger ekak liyaganna mysql walin :confused::confused::P
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,155
    4,053
    113
    invoke db "Injected Memory"

    anna hari mcn mata oone oketa trigger ekak liyaganna mysql walin :confused::confused::P

    අවුරුදු 10 ක විතර POS ලියපු Experience එකෙන් කිව්වොත් නම් මචො ඔතනට Tigger දාන්න එපා.
    උබ ඔය ඇනලයිස් කරපු ව්දියට උබ හිතලා තියෙන්නෙ සාමන්යෙන් පොස් සිස්ටම් එකක රික්වයාමන්ට් එකෙන් 5% ක් විතර, ඉතිරි 95% Develop කරන්න නම් එහෙම කරන්න පුලුවන් විදියට ඉඩ තියාගෙන යන්න ඕන,
    ඕක ටිගර් එකක් දාලා හැදුවොත් Stock Table එකෙන් Row එකක් Delete කරන්නෙ කොහොමද ?
    Edit කරන්නෙ කොහොමද.
    Data Sync වෙද්දි ඕක ගැන වෙනම හිතන්න ඕන,
    Distributed system එකක් විදියට එක්ස්පැන්ඩ් කරන්නෙ කොහොමද?
    ඒ නිසා කම්මැලි නැතුව SQL Queries දෙකක් ලියන්න,
    එතකොට කන්ට්‍රොල් එක තියෙන්නෙ අපේ අතේ,
    නැත්නම් පස්සෙ දවසක කෝඩ් එක දිග ඇරගෙන ඔලුව රිදෙනකල් කල්පනා කරන්න වෙනවා කොහොමද Item Table එක Update වෙන්නෙ කියලා.

    කෝඩ් එකේ ඕක තිබ්බා නම් Button එකේ code එක දිගේ ගියාම හැම දෙයක් ම තියෙනවා,

    එක ටේබල් එකකට Insert එකක් දෙද්දි අනිත් එකට Update එකක් දෙන්න, වැඩේ ඉවරයි.

    එහෙම නැත්නම් Stored Procedure එකක් ලියන්න ඒකට පැරමීටර් ටික දුන්නම වැඩ දෙකම වෙන්න,

    සාමාන්‍ය පොස් සිස්ටම් එකක කරන්නෙ මෙහෙම,
    Products කියලා ටේබල් එකක් තියෙනවා ඒකෙ තියෙන්නෙ
    ItemCode,ItemDescription,ItemCost,ItemPrice ඔයාගෙ සිස්ටම් එකේ හැටියට එන්නෙ
    0001,Apple iPhoneX 256GB Silver,100,150'
    ඔන්න ඔන කලම්ස් ටික,

    ඊලගට Purchasing වලට ටේබල් එකක් තියෙනවා එකේ තියෙන්නෙ
    ItemCode, PurchaseQty සහ අනෙකුත් විස්තර (date,supplier, invoice numbers,)
    0001,3

    තව Table එකක් තියෙනවා Stock එකට
    ඒකේ තියෙන්නෙ

    ප්‍රඩක්ට් එකේ කෝඩ් එකයි, අපේ ස්ටොක්ක් එකයි.
    ItemCode,StockQty
    00001,1

    Purchase කරාම අපි කරන්නෙ මුලින්ම Purcshacing table එකට ඒ විස්තර දාගන්නවා.
    ඊට පස්සෙ Stock Table එකේ දැනට ස්ටොක් එකක් තියෙනවා නම් ඒක අප්ඩේට් කරනවා නැත්නම් ඉන්සෙර්ට් කරනවා. ඔය වැඩ 3 ම කරන්න එක Stored Procedure එකක් හදාගත්තා නම් හරි.

    සාමාන්‍ය POS එකක නම් Item Table එකේ තියෙන්නෙ Code එකයි Description එකයි විතරයි.
    ප්‍රයිස් තියෙන්නෙ වෙනම ටේබල් එකක, මොකද එකම අයිටම් එකට ප්‍රයිස් දෙක තුනක් තියෙනවා කොස්ට් දෙක තුනක් තියෙනවා.
    කලර් එක සයිස් එක තියෙන්නෙ වෙන ටේබල් එකක, එකම අයිටම් එකේ සයිස් කලර්ස් වෙනම එනවා වගේම වෙනම තියාගන්න ඕන ඒවගෙ ස්ටොක්ක්.
    මේ වගේ ටේබල් බරගානක් තියෙනවා

    අන්තිමට Data ඔන වෙලාවට join කරලා ගන්නවා,

     
    • Like
    Reactions: isurutmv

    blackcatcyb

    Active member
  • Jun 9, 2007
    649
    162
    43
    New Zealand
    Application level එකෙන් handle කරන එක තමා හොදම. නැත්තන් අර කිව්වා වගේ table එක update වෙන්නේ කොහොමද කියල හොයන්න වෙනවා ඔලුව රිදෙනකන් .Quries 2 ක් නේ ලියන්න තියෙන්නේ.
     

    isurutmv

    Well-known member
  • May 1, 2013
    1,936
    823
    113
    29
    Gampaha


    අවුරුදු 10 ක විතර POS ලියපු Experience එකෙන් කිව්වොත් නම් මචො ඔතනට Tigger දාන්න එපා.
    උබ ඔය ඇනලයිස් කරපු ව්දියට උබ හිතලා තියෙන්නෙ සාමන්යෙන් පොස් සිස්ටම් එකක රික්වයාමන්ට් එකෙන් 5% ක් විතර, ඉතිරි 95% Develop කරන්න නම් එහෙම කරන්න පුලුවන් විදියට ඉඩ තියාගෙන යන්න ඕන,
    ඕක ටිගර් එකක් දාලා හැදුවොත් Stock Table එකෙන් Row එකක් Delete කරන්නෙ කොහොමද ?
    Edit කරන්නෙ කොහොමද.
    Data Sync වෙද්දි ඕක ගැන වෙනම හිතන්න ඕන,
    Distributed system එකක් විදියට එක්ස්පැන්ඩ් කරන්නෙ කොහොමද?
    ඒ නිසා කම්මැලි නැතුව SQL Queries දෙකක් ලියන්න,
    එතකොට කන්ට්‍රොල් එක තියෙන්නෙ අපේ අතේ,
    නැත්නම් පස්සෙ දවසක කෝඩ් එක දිග ඇරගෙන ඔලුව රිදෙනකල් කල්පනා කරන්න වෙනවා කොහොමද Item Table එක Update වෙන්නෙ කියලා.

    කෝඩ් එකේ ඕක තිබ්බා නම් Button එකේ code එක දිගේ ගියාම හැම දෙයක් ම තියෙනවා,

    එක ටේබල් එකකට Insert එකක් දෙද්දි අනිත් එකට Update එකක් දෙන්න, වැඩේ ඉවරයි.

    එහෙම නැත්නම් Stored Procedure එකක් ලියන්න ඒකට පැරමීටර් ටික දුන්නම වැඩ දෙකම වෙන්න,

    සාමාන්‍ය පොස් සිස්ටම් එකක කරන්නෙ මෙහෙම,
    Products කියලා ටේබල් එකක් තියෙනවා ඒකෙ තියෙන්නෙ
    ItemCode,ItemDescription,ItemCost,ItemPrice ඔයාගෙ සිස්ටම් එකේ හැටියට එන්නෙ
    0001,Apple iPhoneX 256GB Silver,100,150'
    ඔන්න ඔන කලම්ස් ටික,

    ඊලගට Purchasing වලට ටේබල් එකක් තියෙනවා එකේ තියෙන්නෙ
    ItemCode, PurchaseQty සහ අනෙකුත් විස්තර (date,supplier, invoice numbers,)
    0001,3

    තව Table එකක් තියෙනවා Stock එකට
    ඒකේ තියෙන්නෙ

    ප්‍රඩක්ට් එකේ කෝඩ් එකයි, අපේ ස්ටොක්ක් එකයි.
    ItemCode,StockQty
    00001,1

    Purchase කරාම අපි කරන්නෙ මුලින්ම Purcshacing table එකට ඒ විස්තර දාගන්නවා.
    ඊට පස්සෙ Stock Table එකේ දැනට ස්ටොක් එකක් තියෙනවා නම් ඒක අප්ඩේට් කරනවා නැත්නම් ඉන්සෙර්ට් කරනවා. ඔය වැඩ 3 ම කරන්න එක Stored Procedure එකක් හදාගත්තා නම් හරි.

    සාමාන්‍ය POS එකක නම් Item Table එකේ තියෙන්නෙ Code එකයි Description එකයි විතරයි.
    ප්‍රයිස් තියෙන්නෙ වෙනම ටේබල් එකක, මොකද එකම අයිටම් එකට ප්‍රයිස් දෙක තුනක් තියෙනවා කොස්ට් දෙක තුනක් තියෙනවා.
    කලර් එක සයිස් එක තියෙන්නෙ වෙන ටේබල් එකක, එකම අයිටම් එකේ සයිස් කලර්ස් වෙනම එනවා වගේම වෙනම තියාගන්න ඕන ඒවගෙ ස්ටොක්ක්.
    මේ වගේ ටේබල් බරගානක් තියෙනවා

    අන්තිමට Data ඔන වෙලාවට join කරලා ගන්නවා,

    image
    7160033.gif
    t.gif
    h.gif
    a.gif
    n.gif
    k.gif
    empty.gif
    y.gif
    o.gif
    u.gif
    empty.gif
    m.gif
    c.gif
    n.gif


    9Y7qmQ3.png
     
    Last edited: