 |
|
สอบถาม วิธีการ insert data พร้อมกัน 2 Table ถ้า Table |
|
 |
|
|
 |
 |
|
สอบถาม วิธีการ insert data พร้อมกัน 2 Table ถ้า Table ถ้า table ใดtable หนึ่ง inset แล้ว error อยากให้ไม่ให้ save ทั้งสอง Table เลย
มีวิธีการ เขียน Query
ตัวอย่าง
BEGIN
BEGIN TRY
Insert into [A](
[REQ_NO]
,[COMP]
,[CUSCD]
,[CUSCOD_Original]
)
Select
CLM_ID
,CLM_COMPANY
,CUSCOD
,@Cuskey
)
From [A_temp]
Insert [B](
REQ_NO
,CLM_NO_SUB
,STKCOD
)
Select cltm.[CLM_ID]
,cltm.[CLM_NO_SUB]
,cltm.[STKCOD]
,cltm.[STKDES]
FROM [CLAIM].[dbo].[A_temp] cltm inner join
[CLAIM].[dbo].[D] item on item.STKCOD = cltm.[STKCOD]
where cltm.[CLM_ID]=@inCLM_ID
END
END TRY
BEGIN CATCH -- Error
rollback transaction
declare @xError varchar(500)
print ERROR_MESSAGE()
END CATCH
END
จาก Query ตัวอย่าง ไม่ยอม rollbackให้
Tag : .NET, MySQL, Ms SQL Server 2016, HTML5, C#, Windows
|
|
 |
 |
 |
 |
Date :
2019-04-03 10:04:42 |
By :
asdf111 |
View :
1113 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ศึกษาเรื่อง commit rollback
และ multi query
|
 |
 |
 |
 |
Date :
2019-04-03 12:33:19 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
begin transac
begin try
--work space
--end work space
commit
end try
begin catch
rollback
end catch
try write pattern this again krub
|
 |
 |
 |
 |
Date :
2019-04-04 09:34:44 |
By :
adminliver |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Transactions ข้ามดาเบส
Code (VB.NET)
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data
Public Class _Sample
Public Shared Async Sub Example1() 'As Task(Of String)
Dim objUser As New Users With {
.UserID = 1,
.UserName = "nongporn"
}
Using conn As IDbConnection = New SqlClient.SqlConnection("SQL Server Connection String")
conn.Open()
Using trans = conn.BeginTransaction()
Try
Dim row1 As Integer = Await conn.Insert("Users", objUser, trans)
'***** Business so on. *****
If row1 > 0 Then
objUser.UserID = 2
objUser.UserName = "Jimi"
Dim row2 As Integer = Await conn.Insert("Users", objUser, trans)
End If
trans.Commit()
Catch ex As Exception
trans.Rollback()
End Try
End Using
End Using
Using conn As IDbConnection = New MySqlClient.MySqlConnection("MySQL/Maria server Connection String")
conn.Open()
Using trans = conn.BeginTransaction()
Try
Dim row1 As Integer = Await conn.Insert("Users", objUser, trans)
If row1 > 0 Then
objUser.UserID = 2
objUser.UserName = "Jimi"
Dim row2 As Integer = Await conn.Insert("Users", objUser, trans)
End If
trans.Commit()
Catch ex As Exception
trans.Rollback()
End Try
End Using
End Using
End Sub
''' <summary>
''' Table dbo.Users
''' </summary>
Public Class Users
Public Property UserID As Integer 'จำเป็น
Public Property UserName As String 'จำเป็น
Public Property Password As String
Public Property Tel As String
'So on.
End Class
End Class
|
 |
 |
 |
 |
Date :
2019-04-04 17:27:37 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|