SlideShare a Scribd company logo
TRANSACTION Pemateri : Dimara Kusuma Hakim, ST.
Sumber ,[object Object],[object Object],[object Object],[object Object],[object Object]
What Is a Transaction? ,[object Object],[object Object],[object Object]
Sample… Bank Transaction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Transaction Characteristics  (ACID properties) ,[object Object],[object Object],[object Object],[object Object]
Transactional Processing
Defining Transactions ,[object Object],[object Object],[object Object]
Note this… ,[object Object],[object Object]
AutoCommit Transactions ,[object Object]
… ,[object Object],[object Object],[implied begin transaction] UPDATE account SET balance = balance + 1000 WHERE account_no = “123456789” [implied commit or rollback transaction]
…  Consider this ! Banking Transaction DECLARE @SOURCE_account char(10),  @DESTINATION_account char(10) SELECT @source_account = ‘0003456321’,  @destination_account = ‘0003456322’ UPDATE account  SET balance = balance - $1000  WHERE account_number = @source_account UPDATE account  SET balance = balance + $1000 WHERE account_number = @destination_account
… ,[object Object],[object Object]
Explicit Transactions ,[object Object],[object Object]
… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Explicit Transactions
Explicit Transactions, Transaction handling
Explicit Transactions, Nested  Transaction  (Sub Transaction)
Explicit Transactions, Distributed Transaction
Explicit Transactions, Banking Transaction declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ BEGIN TRAN update account set balance = balance - $1000 where account_number = @source_account if @@error != 0 begin rollback tran return end update account set balance = balance + $1000 where account_number = @destination_account if @@error != 0 begin rollback tran return end commit tran
Explicit Transactions, Banking Transaction – Other Solution declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ BEGIN TRY Begin Transaction update account set balance = balance - $1000 where account_number = @source_account update account set balance = balance + $1000 where account_number = @destination_account Commit Transaction END TRY BEGIN CATCH  RaiseError('Transaksinya Error Nich, Gimana ya? ', 1, 1, 1,1, 1, 1, 1 ); RollBack Transaction END CATCH
Savepoints ,[object Object],[object Object],BEGIN TRAN mywork UPDATE table1... SAVE TRAN savepoint1 INSERT INTO table2... DELETE table3... IF @@error = -1 ROLLBACK TRAN savepoint1 COMMIT TRAN
Implicit Transactions ,[object Object],[object Object]
[object Object],[object Object]
SET IMPLICIT_TRANSACTIONS ON Go INSERT INTO table1 UPDATE table2 COMMIT Go SELECT * FROM table1 BEGIN TRAN DELETE FROM table1 COMMIT Go DROP TABLE table1 COMMIT
set implicit_transactions on Go Declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ UPDATE account set balance = balance - $1000 where account_number = @source_account if @@error != 0 begin rollback return End UPDATE account set balance = balance + $1000 where account_number = @destination_account if @@error != 0 begin rollback return end COMMIT
… ,[object Object]
Transactions and Stored Procedures ,[object Object]
… CREATE TABLE testable (col1 int) go CREATE TABLE auditlog (who varchar(128), valuentered int null) go CREATE PROCEDURE trantest @arg INT AS BEGIN TRAN IF EXISTS( SELECT * FROM testable WHERE col1 = @arg ) BEGIN RAISERROR (‘Value %d already exists!’, 16, -1, @arg) ROLLBACK TRANSACTION END ELSE BEGIN INSERT INTO testable (col1) VALUES (@arg) COMMIT TRAN END INSERT INTO auditlog (who, valuentered) VALUES (USER_NAME(), @arg) return
Distributed Transactions ,[object Object]
… ,[object Object]
QUIZ  ,[object Object],[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

Simulasi - Pertemuan III
Simulasi - Pertemuan IIISimulasi - Pertemuan III
Simulasi - Pertemuan IIIDimara Hakim
 
Simulasi - Pertemuan IV
Simulasi - Pertemuan IVSimulasi - Pertemuan IV
Simulasi - Pertemuan IVDimara Hakim
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman ModularDimara Hakim
 
Struktur Level Data
Struktur Level DataStruktur Level Data
Struktur Level DataDimara Hakim
 
Simulasi - Pertemuan I
Simulasi - Pertemuan ISimulasi - Pertemuan I
Simulasi - Pertemuan IDimara Hakim
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolDimara Hakim
 
query optimization
query optimizationquery optimization
query optimizationDimara Hakim
 
Struktur Level Program
Struktur Level ProgramStruktur Level Program
Struktur Level ProgramDimara Hakim
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
José Angel Ibarra Espinosa
 
Intro oracle10gexpress
Intro oracle10gexpressIntro oracle10gexpress
Intro oracle10gexpressjatin Sareen
 
Tutorial Instalisasi Oracle 10g dan Setting User
Tutorial Instalisasi Oracle 10g dan Setting UserTutorial Instalisasi Oracle 10g dan Setting User
Tutorial Instalisasi Oracle 10g dan Setting User
Imam Halim Mursyidin
 
Step By Step How To Install Oracle XE
Step By Step How To Install Oracle XEStep By Step How To Install Oracle XE
Step By Step How To Install Oracle XE
Achmad Solichin
 
IBM Informix Database SQL Set operators and ANSI Hash Join
IBM Informix Database SQL Set operators and ANSI Hash JoinIBM Informix Database SQL Set operators and ANSI Hash Join
IBM Informix Database SQL Set operators and ANSI Hash Join
Ajay Gupte
 
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
STRosidah
 
Oracle intro to designer abridged
Oracle intro to designer abridgedOracle intro to designer abridged
Oracle intro to designer abridgedFITSFSd
 
Simulasi - Pertemuan II
Simulasi - Pertemuan IISimulasi - Pertemuan II
Simulasi - Pertemuan IIDimara Hakim
 
Sql server ___________ (advance sql)
Sql server  ___________  (advance sql)Sql server  ___________  (advance sql)
Sql server ___________ (advance sql)
Ehtisham Ali
 
Time-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy QueriesTime-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy Queries
Chema Alonso
 
Oracle database introduction
Oracle database introductionOracle database introduction
Oracle database introduction
Mohammad Javad Beheshtian
 

Viewers also liked (20)

Simulasi - Pertemuan III
Simulasi - Pertemuan IIISimulasi - Pertemuan III
Simulasi - Pertemuan III
 
Simulasi - Pertemuan IV
Simulasi - Pertemuan IVSimulasi - Pertemuan IV
Simulasi - Pertemuan IV
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
 
Struktur Level Data
Struktur Level DataStruktur Level Data
Struktur Level Data
 
Simulasi - Pertemuan I
Simulasi - Pertemuan ISimulasi - Pertemuan I
Simulasi - Pertemuan I
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrol
 
query optimization
query optimizationquery optimization
query optimization
 
Struktur Level Program
Struktur Level ProgramStruktur Level Program
Struktur Level Program
 
Desain Top Down
Desain Top DownDesain Top Down
Desain Top Down
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Intro oracle10gexpress
Intro oracle10gexpressIntro oracle10gexpress
Intro oracle10gexpress
 
Tutorial Instalisasi Oracle 10g dan Setting User
Tutorial Instalisasi Oracle 10g dan Setting UserTutorial Instalisasi Oracle 10g dan Setting User
Tutorial Instalisasi Oracle 10g dan Setting User
 
Step By Step How To Install Oracle XE
Step By Step How To Install Oracle XEStep By Step How To Install Oracle XE
Step By Step How To Install Oracle XE
 
IBM Informix Database SQL Set operators and ANSI Hash Join
IBM Informix Database SQL Set operators and ANSI Hash JoinIBM Informix Database SQL Set operators and ANSI Hash Join
IBM Informix Database SQL Set operators and ANSI Hash Join
 
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
 
Oracle intro to designer abridged
Oracle intro to designer abridgedOracle intro to designer abridged
Oracle intro to designer abridged
 
Simulasi - Pertemuan II
Simulasi - Pertemuan IISimulasi - Pertemuan II
Simulasi - Pertemuan II
 
Sql server ___________ (advance sql)
Sql server  ___________  (advance sql)Sql server  ___________  (advance sql)
Sql server ___________ (advance sql)
 
Time-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy QueriesTime-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy Queries
 
Oracle database introduction
Oracle database introductionOracle database introduction
Oracle database introduction
 

Similar to Transaction

1_Transaction.pdf
1_Transaction.pdf1_Transaction.pdf
1_Transaction.pdf
NhtHong96
 
MySQL Transactions
MySQL TransactionsMySQL Transactions
MySQL Transactions
Reggie Niccolo Santos
 
Database Transactions and SQL Server Concurrency
Database Transactions and SQL Server ConcurrencyDatabase Transactions and SQL Server Concurrency
Database Transactions and SQL Server Concurrency
Boris Hristov
 
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERYTRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
Rohit Kumar
 
Transation.....thanveeer
Transation.....thanveeerTransation.....thanveeer
Transation.....thanveeer
Muhammed Thanveer M
 
What is Advance DBMS, introduction to ADBMS
What is Advance DBMS, introduction to ADBMSWhat is Advance DBMS, introduction to ADBMS
What is Advance DBMS, introduction to ADBMS
SaqibAlam14
 
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)Shakil Zaman
 
Autonomous transaction
Autonomous transactionAutonomous transaction
Autonomous transaction
Rajeev Rastogi (KRR)
 
Chapter 5 transactions and dcl statements
Chapter 5  transactions and dcl statementsChapter 5  transactions and dcl statements
Chapter 5 transactions and dcl statements
baabtra.com - No. 1 supplier of quality freshers
 
Transaction Properties in database | ACID Properties
Transaction Properties in database | ACID PropertiesTransaction Properties in database | ACID Properties
Transaction Properties in database | ACID Properties
nomanbarki
 
Transaction and concurrency pitfalls in Java
Transaction and concurrency pitfalls in JavaTransaction and concurrency pitfalls in Java
Transaction and concurrency pitfalls in Java
Ersen Öztoprak
 
Restoration and-concurrency-database
Restoration and-concurrency-databaseRestoration and-concurrency-database
Restoration and-concurrency-database
raima sen
 
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
DrCViji
 
Transactions in the databse management and computer science.ppt
Transactions in the databse management and computer science.pptTransactions in the databse management and computer science.ppt
Transactions in the databse management and computer science.ppt
rajatsharma302001
 
dbms sanat ppt.pdf
dbms sanat ppt.pdfdbms sanat ppt.pdf
dbms sanat ppt.pdf
BansalShrivastava1
 

Similar to Transaction (20)

1_Transaction.pdf
1_Transaction.pdf1_Transaction.pdf
1_Transaction.pdf
 
MySQL Transactions
MySQL TransactionsMySQL Transactions
MySQL Transactions
 
Transaction
TransactionTransaction
Transaction
 
Database Transactions and SQL Server Concurrency
Database Transactions and SQL Server ConcurrencyDatabase Transactions and SQL Server Concurrency
Database Transactions and SQL Server Concurrency
 
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERYTRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
 
Transation.....thanveeer
Transation.....thanveeerTransation.....thanveeer
Transation.....thanveeer
 
What is Advance DBMS, introduction to ADBMS
What is Advance DBMS, introduction to ADBMSWhat is Advance DBMS, introduction to ADBMS
What is Advance DBMS, introduction to ADBMS
 
Introduction to mysql part 5
Introduction to mysql part 5Introduction to mysql part 5
Introduction to mysql part 5
 
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)
PROCEDURE FOR MONTH END DAY 1 INCLUDING SCREEN SHOT & SCRIPTS (Final rev 090211)
 
Sistem manajemen basis data 8
Sistem manajemen basis data   8Sistem manajemen basis data   8
Sistem manajemen basis data 8
 
Transaction in MYSQL
Transaction in MYSQLTransaction in MYSQL
Transaction in MYSQL
 
Autonomous transaction
Autonomous transactionAutonomous transaction
Autonomous transaction
 
Chapter 5 transactions and dcl statements
Chapter 5  transactions and dcl statementsChapter 5  transactions and dcl statements
Chapter 5 transactions and dcl statements
 
Transaction Properties in database | ACID Properties
Transaction Properties in database | ACID PropertiesTransaction Properties in database | ACID Properties
Transaction Properties in database | ACID Properties
 
Transaction and concurrency pitfalls in Java
Transaction and concurrency pitfalls in JavaTransaction and concurrency pitfalls in Java
Transaction and concurrency pitfalls in Java
 
Restoration and-concurrency-database
Restoration and-concurrency-databaseRestoration and-concurrency-database
Restoration and-concurrency-database
 
Module04
Module04Module04
Module04
 
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
 
Transactions in the databse management and computer science.ppt
Transactions in the databse management and computer science.pptTransactions in the databse management and computer science.ppt
Transactions in the databse management and computer science.ppt
 
dbms sanat ppt.pdf
dbms sanat ppt.pdfdbms sanat ppt.pdf
dbms sanat ppt.pdf
 

More from Dimara Hakim

PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASIPENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
Dimara Hakim
 
Disk-based storage
Disk-based storageDisk-based storage
Disk-based storageDimara Hakim
 
Physical elements of data
Physical elements of dataPhysical elements of data
Physical elements of dataDimara Hakim
 
b - Normalizing a Data Model
b - Normalizing a Data Modelb - Normalizing a Data Model
b - Normalizing a Data ModelDimara Hakim
 
a - Normalizing a Data Model
a - Normalizing a Data Modela - Normalizing a Data Model
a - Normalizing a Data ModelDimara Hakim
 
Data Access Technologies
Data Access TechnologiesData Access Technologies
Data Access TechnologiesDimara Hakim
 
Database Management Systems (DBMS)
Database Management Systems (DBMS)Database Management Systems (DBMS)
Database Management Systems (DBMS)Dimara Hakim
 
Bab 1b The Structure Of A Computer Program
Bab 1b   The Structure Of A Computer ProgramBab 1b   The Structure Of A Computer Program
Bab 1b The Structure Of A Computer ProgramDimara Hakim
 
Bab 2 Rekayasa Perangkat Lunak 5
Bab 2   Rekayasa Perangkat Lunak  5Bab 2   Rekayasa Perangkat Lunak  5
Bab 2 Rekayasa Perangkat Lunak 5Dimara Hakim
 
Bab 2 Rekayasa Perangkat Lunak 3
Bab 2   Rekayasa Perangkat Lunak  3Bab 2   Rekayasa Perangkat Lunak  3
Bab 2 Rekayasa Perangkat Lunak 3Dimara Hakim
 
Bab 2 Rekayasa Perangkat Lunak 2
Bab 2   Rekayasa Perangkat Lunak  2Bab 2   Rekayasa Perangkat Lunak  2
Bab 2 Rekayasa Perangkat Lunak 2Dimara Hakim
 
Bab 2 Rekayasa Perangkat Lunak 1
Bab 2   Rekayasa Perangkat Lunak  1Bab 2   Rekayasa Perangkat Lunak  1
Bab 2 Rekayasa Perangkat Lunak 1Dimara Hakim
 

More from Dimara Hakim (20)

modul6
modul6modul6
modul6
 
Denormalisasi
DenormalisasiDenormalisasi
Denormalisasi
 
ELS
ELSELS
ELS
 
ASC
ASCASC
ASC
 
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASIPENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
Disk-based storage
Disk-based storageDisk-based storage
Disk-based storage
 
Index
IndexIndex
Index
 
Physical elements of data
Physical elements of dataPhysical elements of data
Physical elements of data
 
Normalisasi
NormalisasiNormalisasi
Normalisasi
 
b - Normalizing a Data Model
b - Normalizing a Data Modelb - Normalizing a Data Model
b - Normalizing a Data Model
 
a - Normalizing a Data Model
a - Normalizing a Data Modela - Normalizing a Data Model
a - Normalizing a Data Model
 
Data Access Technologies
Data Access TechnologiesData Access Technologies
Data Access Technologies
 
Database Management Systems (DBMS)
Database Management Systems (DBMS)Database Management Systems (DBMS)
Database Management Systems (DBMS)
 
Bab 1b The Structure Of A Computer Program
Bab 1b   The Structure Of A Computer ProgramBab 1b   The Structure Of A Computer Program
Bab 1b The Structure Of A Computer Program
 
OOP
OOPOOP
OOP
 
Bab 2 Rekayasa Perangkat Lunak 5
Bab 2   Rekayasa Perangkat Lunak  5Bab 2   Rekayasa Perangkat Lunak  5
Bab 2 Rekayasa Perangkat Lunak 5
 
Bab 2 Rekayasa Perangkat Lunak 3
Bab 2   Rekayasa Perangkat Lunak  3Bab 2   Rekayasa Perangkat Lunak  3
Bab 2 Rekayasa Perangkat Lunak 3
 
Bab 2 Rekayasa Perangkat Lunak 2
Bab 2   Rekayasa Perangkat Lunak  2Bab 2   Rekayasa Perangkat Lunak  2
Bab 2 Rekayasa Perangkat Lunak 2
 
Bab 2 Rekayasa Perangkat Lunak 1
Bab 2   Rekayasa Perangkat Lunak  1Bab 2   Rekayasa Perangkat Lunak  1
Bab 2 Rekayasa Perangkat Lunak 1
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

Transaction

  • 1. TRANSACTION Pemateri : Dimara Kusuma Hakim, ST.
  • 2.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. … Consider this ! Banking Transaction DECLARE @SOURCE_account char(10), @DESTINATION_account char(10) SELECT @source_account = ‘0003456321’, @destination_account = ‘0003456322’ UPDATE account SET balance = balance - $1000 WHERE account_number = @source_account UPDATE account SET balance = balance + $1000 WHERE account_number = @destination_account
  • 12.
  • 13.
  • 14.
  • 15.
  • 18. Explicit Transactions, Nested Transaction (Sub Transaction)
  • 20. Explicit Transactions, Banking Transaction declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ BEGIN TRAN update account set balance = balance - $1000 where account_number = @source_account if @@error != 0 begin rollback tran return end update account set balance = balance + $1000 where account_number = @destination_account if @@error != 0 begin rollback tran return end commit tran
  • 21. Explicit Transactions, Banking Transaction – Other Solution declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ BEGIN TRY Begin Transaction update account set balance = balance - $1000 where account_number = @source_account update account set balance = balance + $1000 where account_number = @destination_account Commit Transaction END TRY BEGIN CATCH RaiseError('Transaksinya Error Nich, Gimana ya? ', 1, 1, 1,1, 1, 1, 1 ); RollBack Transaction END CATCH
  • 22.
  • 23.
  • 24.
  • 25. SET IMPLICIT_TRANSACTIONS ON Go INSERT INTO table1 UPDATE table2 COMMIT Go SELECT * FROM table1 BEGIN TRAN DELETE FROM table1 COMMIT Go DROP TABLE table1 COMMIT
  • 26. set implicit_transactions on Go Declare @source_account char(10), @destination_account char(10) select @source_account = ‘0003456321’, @destination_account = ‘0003456322’ UPDATE account set balance = balance - $1000 where account_number = @source_account if @@error != 0 begin rollback return End UPDATE account set balance = balance + $1000 where account_number = @destination_account if @@error != 0 begin rollback return end COMMIT
  • 27.
  • 28.
  • 29. … CREATE TABLE testable (col1 int) go CREATE TABLE auditlog (who varchar(128), valuentered int null) go CREATE PROCEDURE trantest @arg INT AS BEGIN TRAN IF EXISTS( SELECT * FROM testable WHERE col1 = @arg ) BEGIN RAISERROR (‘Value %d already exists!’, 16, -1, @arg) ROLLBACK TRANSACTION END ELSE BEGIN INSERT INTO testable (col1) VALUES (@arg) COMMIT TRAN END INSERT INTO auditlog (who, valuentered) VALUES (USER_NAME(), @arg) return
  • 30.
  • 31.
  • 32.