我有三個表[PublicationNotice]
,[PublicationNoticeClient]
和[PublicationNoticeInvoice]
聯接表。插入數據分爲三個使用存儲過程
表1與表2和表3一個一對一的關係。
我使用的存儲過程將數據插入表中。我的表單由來自table1,table2和table3的所有屬性組成。
我的問題是,當我提交數據到它插入的所有數據接受表1 table2_id和table3_id這三個表。
提示:我使用ASP .Net和MSSQL
我的存儲過程是這樣的:
CREATE procedure [dbo].[AddUpdatePublicationNotice]
@ID bigint = NULL,
@Title varchar(max)= NULL,
@NewspaperName varchar(50) =NULL,
@Cities varchar(max)= NULL,
@PublicationSize varchar(8) =NULL,
@PublicationDate date =NULL,
@PublicationType varchar(50)= NULL,
@NewspaperPageNo smallint= NULL,
@Colored bit= NULL,
@CaseNature varchar(15)= NULL,
@ImagePath varchar(max)= NULL,
@ClientId bigint =NULL,
@InvoiceId bigint= NULL,
@CreatedById bigint = NULL,
@EditedById bigint= NULL,
@EditedDate datetime =NULL,
--******************************************--
@ClientName varchar(max)= NULL,
@ClientType varchar(50)= NULL,
@ClientContactPerson varchar(max)= NULL,
@ClientAddress varchar(max)= NULL,
@ClientCity varchar(50) =NULL,
@ClientCountry varchar(50)= NULL,
--******************************************--
@InvoiceDate date= NULL,
@InvoiceTotalAmount bigint= NULL,
@InvoicePaymentRecievedDate date= NULL,
@InvoiceChequeNo bigint= NULL,
@InvoiceBankName varchar(50)= NULL
--******************************************--
AS
Insert into PublicationNotice (
[Title]
,[NewspaperName]
,[Cities]
,[PublicationSize]
,[PublicationDate]
,[PublicationType]
,[NewspaperPageNo]
,[Colored]
,[CaseNature]
,[ImagePath]
,[ClientId]
,[InvoiceId]
,CreatedById
)Values(
@Title
,@NewspaperName
,@Cities
,@PublicationSize
,@PublicationDate
,@PublicationType
,@NewspaperPageNo
,@Colored
,@CaseNature
,@ImagePath
,@ClientId
,@InvoiceId
,@CreatedById)
insert into [dbo].[PublicationNoticeClient] (
[Name]
,[Type]
,[ContactPerson]
,[Address]
,[City]
,[Country]
,[CreatedById])
Values(@ClientName
,@ClientType
,@ClientContactPerson
,@ClientAddress
,@ClientCity
,@ClientCountry
,@CreatedById)
Insert Into [dbo].[PublicationNoticeInvoice] (
[Date]
,[TotalAmount]
,[PaymentRecievedDate]
,[ChequeNo]
,[BankName]
,[CreatedById])
Values (
@InvoiceDate
,@InvoiceTotalAmount
,@InvoicePaymentRecievedDate
,@InvoiceChequeNo
,@InvoiceBankName
,@CreatedById)
GO
我知道我可以先插入表2和表3的值,然後從中選擇最後插入值表2表3和(被table2_id和table3_id),然後將它們插入到表1
是否有插入這樣的數據的任何其他快捷的方式???
使用我已經刪除了MySQL的標籤,因爲它在這裏並不適用OUTPUT子句 –
。 MySQL和MS SQL通常需要不同的解決方案。 –