日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

微軟SQL Server 2008之行值構(gòu)造器_Mssql數(shù)據(jù)庫(kù)教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Sql語(yǔ)句密碼驗(yàn)證的安全漏洞
Sql語(yǔ)句作為國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句,在各種編程環(huán)境中得到了廣泛的應(yīng)用。作為一個(gè)成熟、穩(wěn)定的系統(tǒng),用戶(hù)登陸和密碼驗(yàn)證是必不可少的。 Sql語(yǔ)句作為國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句,在

相信大家都知道怎樣使用數(shù)據(jù)操作語(yǔ)言(DML)對(duì)SQL Server表的數(shù)據(jù)進(jìn)行插入、刪除和更新等處理。有時(shí)候,我們需要用INSERT語(yǔ)句進(jìn)行插入的數(shù)據(jù)實(shí)在是多得讓人頭疼,有很多傳統(tǒng)但繁瑣的方法可以用來(lái)插入大批量數(shù)據(jù),不過(guò)SQL Server 2008提供了一種能夠簡(jiǎn)化數(shù)據(jù)插入過(guò)程的新方法。本文將為大家簡(jiǎn)單介紹這些用來(lái)插入數(shù)據(jù)的方法之間的差異,其中包括SQL Server 2008提供的新方法——行值構(gòu)造器(Row Value Constructor)。

我們向表插入數(shù)據(jù)的傳統(tǒng)方法有三個(gè),介紹如下:

方法一

假設(shè)我們有一個(gè)名為MyTestDB的數(shù)據(jù)庫(kù),其中有一個(gè)名為MyTest1的表,數(shù)據(jù)庫(kù)和表的創(chuàng)建過(guò)程如下:

USE [master]
GO
IF EXISTS (SELECT name FROM sys.databases
WHERE name = N'MyTestDB')
DROP DATABASE [MyTestDB]
GO
Create database MyTestDB
Go
Use [MyTestDB]
Go
IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[MyTest1]')
AND type in (N'U'))
DROP TABLE [dbo].[MyTest1]
GO
USE [MyTestDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTest1](
[Id] [int] NULL,
[Fname] [varchar](100) NULL,
[Lname] [varchar](100) NULL,
[salary] [money] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO


現(xiàn)在我們用傳統(tǒng)的ANSI插入語(yǔ)句向上表添加5行數(shù)據(jù),這里需要用到帶VALUE從句的INSERT SQL語(yǔ)句來(lái)插入數(shù)據(jù),腳本如下:

insert into MyTest1 (id ,fname ,lname , salary) values (1 , 'John' , 'Smith' , 150000.00)

insert into MyTest1 (id ,fname ,lname , salary) values (2 , 'Hillary' , 'Swank' , 250000.00)

insert into MyTest1 (id ,fname ,lname , salary) values (3 , 'Elisa' , 'Smith' , 120000.00)

insert into MyTest1 (id ,fname ,lname , salary) values (4 , 'Liz' , 'Carleno' , 151000.00)

insert into MyTest1 (id ,fname ,lname , salary) values (5 , 'Tony' , 'Mcnamara' , 150300.00)

執(zhí)行結(jié)果如下:

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

方法二

假設(shè)我們?cè)谏鲜龅腗yTestDB數(shù)據(jù)庫(kù)中有表MyTest2,如下:

USE [MyTestDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTest2]')

AND type in (N'U'))
DROP TABLE [dbo].[MyTest2]
GO
CREATE TABLE [dbo].[MyTest2](
[Id] [int] NULL,
[Fname] [varchar](100) NULL,
[Lname] [varchar](100) NULL,
[salary] [money] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

下面我們?cè)儆昧硗庖环N傳統(tǒng)的插入方法同樣添加5行數(shù)據(jù),也就是使用帶SELECT從句的INSERT SQL語(yǔ)句,腳本如下:

insert into MyTest2 select 1 , 'John' , 'Smith' , 150000.00

insert into MyTest2 select 2 , 'Hillary' , 'Swank' , 250000.00

insert into MyTest2 select 3 , 'Elisa' , 'Smith' , 120000.00

insert into MyTest2 select 4 , 'Liz' , 'Carleno' , 151000.00

insert into MyTest2 select 5 , 'Tony' , 'Mcnamara' , 150300.00

執(zhí)行結(jié)果如下:

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

方法三

同樣的,我們?cè)偌僭O(shè)上述的MyTestDB數(shù)據(jù)庫(kù)中有表MyTest3,如下:

USE [MyTestDB]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTest3]')

AND type in (N'U'))
DROP TABLE [dbo].[MyTest3]
GO
USE [MyTestDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTest3](
[Id] [int] NULL,
[Fname] [varchar](100) NULL,
[Lname] [varchar](100) NULL,
[salary] [money] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

下面我們用第三種傳統(tǒng)的插入方法同樣添加5行數(shù)據(jù),這里使用的是帶SELECT從句和UNION從句的INSERT SQL語(yǔ)句,腳本如下:

insert into MyTest3

select 1 , 'John' , 'Smith' , 150000.00

union select 2 , 'Hillary' , 'Swank' , 250000.00

union select 3 , 'Elisa' , 'Smith' , 120000.00

union select 4 , 'Liz' , 'Carleno' , 151000.00

union select 5 , 'Tony' , 'Mcnamara' , 150300.00

執(zhí)行結(jié)果如下:

(5 row(s) affected)

方法四

最后一種方法,需要插入數(shù)據(jù)的對(duì)象是MyTestDB數(shù)據(jù)庫(kù)中的表MyTest4,如下:

USE [MyTestDB]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTest4]')

AND type in (N'U'))
DROP TABLE [dbo].[MyTest4]
GO
USE [MyTestDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTest4](
[Id] [int] NULL,
[Fname] [varchar](100) NULL,
[Lname] [varchar](100) NULL,
[salary] [money] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

現(xiàn)在我們要用到SQL Server 2008中提供的新方法——行值構(gòu)造器的插入SQL語(yǔ)句為上述表插入5行數(shù)據(jù),這種方法可以在一個(gè)INSERT語(yǔ)句中一次性插入多行數(shù)據(jù),腳本如下:

insert into MyTest4 (id ,fname ,lname , salary) values


(1 , 'John' , 'Smith' , 150000.00),

(2 , 'Hillary' , 'Swank' , 250000.00),

(3 , 'Elisa' , 'Smith' , 120000.00),

(4 , 'Liz' , 'Carleno' , 151000.00),

(5 , 'Tony' , 'Mcnamara' , 150300.00)

執(zhí)行結(jié)果如下:

(5 row(s) affected)

分享:用sp_lock診斷SQL Sever的性能問(wèn)題
在IT 專(zhuān)家中有一種普遍的誤解,就是認(rèn)為“鎖定是不好的東西”,你必須盡一切可能保證數(shù)據(jù)庫(kù)鎖定不會(huì)使得進(jìn)程無(wú)法正常運(yùn)行。為了能夠確保一個(gè)一致的數(shù)據(jù)庫(kù)環(huán)境,在對(duì)資源進(jìn)行修改時(shí),

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):Mssql數(shù)據(jù)庫(kù)教程/更新時(shí)間:2008-08-22
相關(guān)Mssql數(shù)據(jù)庫(kù)教程