簡體   English   中英

插入聯接語句-(將數據插入到多個表中)-C#/ SQL / T-SQL / .NET

[英]Insert a Join Statement - (Insert Data to Multiple Tables) - C#/SQL/T-SQL/.NET

我有一個Winform,其中的字段需要由用戶填寫。 所有字段都不屬於一個表,數據將進入Customer表和CustomerPhone表,因此我決定進行多次插入。 我將首先將適當的數據插入CustomerPhone,然后將其余數據插入Customer表。

是否可以加入插入或插入加入? 如果給我看一個大概的樣本,我將不勝感激。

非常感謝

嚴格來說,您可以使用OUTPUT子句在單個語句中鏈接插入和更新 例如,下面的代碼將立即插入兩個不同的表中:

create table A (
    id_a int not null identity(1,1) primary key,
    name varchar(100))
create table B (
    id_b int not null identity(1,1) primary key,
    id_a int null,
    name_hash varbinary(16));

insert into A (name)
output inserted.id_a, hashbytes('MD5', inserted.name)
into B (id_a, name_hash)
values ('Jonathan Doe')

select * from A
select * from B

如果您詢問是否可以使用一條SQL語句以某種方式插入到兩個表中:否,您需要執行兩個單獨的插入語句。

如果您有其他疑問,請詳細說明。

您可以創建一個具有這些列的視圖,然后對該視圖進行插入。 通常,包含多個表的視圖將不可更新- 但是 ,您可以創建一個觸發器而不是將觸發器插入兩個表中和/或強制執行您的業務邏輯。

這是另一個鏈接

如果您以有組織的方式使用它來為選擇和取消插入/更新創建一層視圖,那么它可能是一個非常強大的工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM