sqlserver有三張資料表表a插入修改刪除資料

2022-01-02 01:44:04 字數 3595 閱讀 4341

1樓:匿名使用者

2種辦法都可以。

使用儲存過程,比如說有過程insert_b, update_b,delete_b,insert_c, update_c,delete_c

當操作a表時:

對a表做插入時,判斷是否插入成功,之後再呼叫insert_b和insert_c,如

create procedure usp_insert_a

@a1 nvarchar(40),

@a2 nvarchar(40)

asbegin

declare @id nvarchar(40)

set @id=''

insert into a(id,f1,f2) values(newid(),@a1,@a2)

if exists(select 1 from a where f1=@a1 and f2=@a2)

begin

select @id=id from a where f1=@a1 and f2=@a2

endif len(@id)>0

begin

exec insert_b--引數...

exec insert_c--引數...

endend

在表a中寫觸發器

1.中未加入事務,當後續的b和c執行失敗時,a是沒有回退的,這個lz自行考慮。

2樓:神崎橙

寫個儲存過程吧,用事務來控制。

3樓:匿名使用者

觸發器 自己去看看 有思路自學更有收穫

在sql中,能快速刪除資料表中所有記錄,但保留資料表結構的語句是什麼?

4樓:二娘呀

在sql中,能快速刪除

資料表中所有記錄,但保留資料表結構的語句是truncate。

使用truncate刪除所有行,該語句總專是屬比不帶條件的delete語句要快,因為delete語句要記錄對每行的刪除操作,而truncate 語句只記錄整個資料頁的釋放。truncate語句立即釋放由該錶的資料和索引占用的所有空間,所有索引的分發頁也將釋放。

與delete語句相同,使用truncate清空的表的定義,同其索引和其它相關的物件一起仍保留在資料庫中。必須使用drop  table語句才能除去表的定義。

sql是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統,同時也是資料庫指令碼檔案的副檔名。

結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者了解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為資料輸入與管理的介面,這使它具有極大的靈活性和強大的功能。

有兩張表:a表,b表,a表的主鍵是b表的外來鍵。小弟現在想對a和b兩張表新增和刪除資料,sql該怎麼寫

5樓:saberの使魔

--建立表

create table a( id int identity(1,1) not null, data varchar(200) null)

create table b( id int identity(1,1) not null, aid int not null, data archar(200) null)

--建立主外來鍵關係

alter table a add constraint aid primary key (id)

alter table b add constraint bid primary key (id)

alter table b add constraint aaid foreign key (aid) references a(id)

--插入用儲存過程

create procedure insertab

@adata as varchar(200),--a表data

@bdata as varchar(200) --b表data

as begin

declare @maxid int

set @maxid = (select max(id) from a)

insert into a (data) values (@adata)

insert into b (aid,data) values (@maxid+1,@bdata)

end插入資料的時候使用

exec dbo.insertab @adata = 'adata',@bdata = 'bdata'

的方式插入

設在學生資料庫中有三張表,表結構如下所示: student(學生表): student表的主鍵:sno(學號) course(課程

sql的update語句怎麼寫?

6樓:百度文庫精選

內容來自使用者:supertower

sql server中的資料改動是免不了的,使用update語句就可以實現我們對資料庫資料的更新修改操作,下面就讓我們來了解一下update語句的用法。

sql server update語句用於更新資料,下面就為您詳細介紹sql server update語句語法方面的知識,希望可以讓您對sql server update語句有更多的了解。

現實應用中資料庫中的資料改動是免不了的。通常,幾乎所有的使用者資料庫中的大部分資料都要進行某種程度的修改。在sql server資料庫中要想修改資料庫記錄,就需要用update語句,update語句就是為了改變資料庫中的現存資料而存在的。

這條語句雖然有一些複雜的選項,但確實是最容易學習的語句之一。這是因為在大多數情況下,這條語句的高階部分很少使用。在使用者看來,update語句只是用來改變指定行中的資料。

但實際的內部情況是,sql server從表中刪除舊的資料行並插入新行。

sql server update語句的語法如下:

1.update  set  =  where

下面是語法選項簡介:

表的名稱。該錶包含了要修改值的列要修改資料的列的名稱要輸入到列中的新值這是update語句中最重要的部分。通過指定乙個好的搜尋條件,你能夠限定表內被修改的行數。

如果你不指定搜尋條件,sqlserver會用新值修改表內的所有行比如現在我們要把超市表內的每件商品**都提高11%,是否有必要為每一行都寫一

7樓:夜很美

oracle語句,修改表內的單行資料,如下:

update 表名 set a=新的值,b=新的值,c=新的值,d=新的值 where id=要修改的id的值;

8樓:

update 表名 set 欄位名="值" where

update 表名 set 欄位名1="值1",欄位名2="值2",…… where

9樓:匿名使用者

update x set b=新值,c=新值,d=新值,e=新值 where a=f

10樓:

update users set name=dodoit, where uid=100028

已知教學管理資料庫JXGL,包含以下三張資料表 學生表 課程表以及學生成績表。它們的結構如下

xuexixuexi 已知乙個教學管理資料庫jxgl,包含以下三張資料表 學生表 課程表以及學生成績表。它們的結構如下 1.if exists select from sysobjects where name view stuinfo drop view view stuinfogocreate ...

MYSQL三張表查詢

select aaa.id,replace bbb.bcode,bbb.bcode,a aa,replace ccc.ccode,ccc.ccode,b bb,concat ws replace bbb.bcode,bbb.bcode,a replace ccc.ccode,ccc.ccode,b ...

從下面四張數字卡片中取出三張,按要求組成三位數所有

奇數 435,抄453,403,405,503,523,345,襲305。偶數bai 2的倍數 這個簡du 單了許多哦 5的倍數 zhi435,dao430,530,540,340,405,345,305。2的倍數 430,450,534,530,540,350,354,340。3的倍數 345,5...