真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sqlserver高級,sqlserver高級教程

推薦一本SqlServer高級查詢的書

推薦 技術(shù)內(nèi)幕系列 一共有四本

創(chuàng)新互聯(lián)-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機房租用、達(dá)州托管服務(wù)器、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎聯(lián)系:028-86922220

如果你想提高 高級查詢能力 主要推薦

Microsoft SQL Server 2005技術(shù)內(nèi)幕:T-SQL程序設(shè)計

關(guān)于SQLServer的select高級查詢(聚合函數(shù)),麻煩大蝦解答一下!

我沒有看題目

你另取外別名可以嗎?

select 職工號,實際工資=(select 基本工資+津貼+補助+獎金-扣除-稅收 as money from 工資) from 職工 order by 所在部門 asc

sqlServer高級查詢

select

c.classname,

未讀=SUM(case

isread

when

then

1

else

end),

已讀=SUM(case

isread

when

1

then

1

else

end)

from

classes

c

left

join

news

n

on

c.classid=n.classid

group

by

c.classname

/*

classname

未讀

已讀

--------------------------------------------------

-----------

-----------

name1

2

name2

1

name3

1

0*/

如何把SQLServer數(shù)據(jù)庫從高版本降級到低版本

把sqlserver數(shù)據(jù)庫從高版本降到低版本可以參考如下兩種方法 :

方法一:使用圖形化操作(GUI),打開SSMS(SQL Server Management Studio)

步驟1:右鍵你要降級的數(shù)據(jù)庫,按下圖選擇:

步驟2:在對話框中選擇:

步驟3:在【高級】中選擇下圖:

步驟4:把腳本保存起來,然后在SQLServer2005中運行腳本。

步驟5:通過【任務(wù)】→【導(dǎo)入數(shù)據(jù)】,把數(shù)據(jù)從2008導(dǎo)入到使用腳本創(chuàng)建的庫上如下圖,就完成了:

方法二:使用系統(tǒng)自帶的存儲過程實現(xiàn):sp_dbcmptlevel ——將某些數(shù)據(jù)庫行為設(shè)置為與指定的 SQL Server 版本兼容

下面是其內(nèi)部實現(xiàn)代碼:

SET QUOTED_IDENTIFIER ON

SET ANSI_NULLS ON

GO

create procedure sys.sp_dbcmptlevel -- 1997/04/15

@dbname sysname = NULL, -- database name to change

@new_cmptlevel tinyint = NULL OUTPUT -- the new compatibility level to change to

as

set nocount on

declare @exec_stmt nvarchar(max)

declare @returncode int

declare @comptlevel float(8)

declare @dbid int -- dbid of the database

declare @dbsid varbinary(85) -- id of the owner of the database

declare @orig_cmptlevel tinyint -- original compatibility level

declare @input_cmptlevel tinyint -- compatibility level passed in by user

,@cmptlvl80 tinyint -- compatibility to SQL Server Version 8.0

,@cmptlvl90 tinyint -- compatibility to SQL Server Version 9.0

,@cmptlvl100 tinyint -- compatibility to SQL Server Version 10.0

select @cmptlvl80 = 80,

@cmptlvl90 = 90,

@cmptlvl100 = 100

-- SP MUST BE CALLED AT ADHOC LEVEL --

if (@@nestlevel 1)

begin

raiserror(15432,-1,-1,'sys.sp_dbcmptlevel')

return (1)

end

-- If no @dbname given, just list the valid compatibility level values.

if @dbname is null

begin

raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)

return (0)

end

-- Verify the database name and get info

select @dbid = dbid, @dbsid = sid ,@orig_cmptlevel = cmptlevel

from master.dbo.sysdatabases

where name = @dbname

-- If @dbname not found, say so and list the databases.

if @dbid is null

begin

raiserror(15010,-1,-1,@dbname)

print ' '

select name as 'Available databases:'

from master.dbo.sysdatabases

return (1)

end

-- Now save the input compatibility level and initialize the return clevel

-- to be the current clevel

select @input_cmptlevel = @new_cmptlevel

select @new_cmptlevel = @orig_cmptlevel

-- If no clevel was supplied, display and output current level.

if @input_cmptlevel is null

begin

raiserror(15054, -1, -1, @orig_cmptlevel)

return(0)

end

-- If invalid clevel given, print usage and return error code

-- 'usage: sp_dbcmptlevel [dbname [, compatibilitylevel]]'

if @input_cmptlevel not in (@cmptlvl80, @cmptlvl90, @cmptlvl100)

begin

raiserror(15416, -1, -1)

print ' '

raiserror (15048, -1, -1, @cmptlvl80, @cmptlvl90, @cmptlvl100)

return (1)

end

-- Only the SA or the dbo of @dbname can execute the update part

-- of this procedure sys.so check.

if (not (is_srvrolemember('sysadmin') = 1)) and suser_sid() @dbsid

-- ALSO ALLOW db_owner ONLY IF DB REQUESTED IS CURRENT DB

and (@dbid db_id() or is_member('db_owner') 1)

begin

raiserror(15418,-1,-1)

return (1)

end

-- If we're in a transaction, disallow this since it might make recovery impossible.

set implicit_transactions off

if @@trancount 0

begin

raiserror(15002,-1,-1,'sys.sp_dbcmptlevel')

return (1)

end

set @exec_stmt = 'ALTER DATABASE ' + quotename(@dbname, '[') + ' SET COMPATIBILITY_LEVEL = ' + cast(@input_cmptlevel as nvarchar(128))

-- Note: database @dbname may not exist anymore

exec(@exec_stmt)

select @new_cmptlevel = @input_cmptlevel

return (0) -- sp_dbcmptlevel

GO

語法

sp_dbcmptlevel [ [ @dbname = ] name ]

[ , [ @new_cmptlevel = ] version ]

參數(shù)

[ @dbname = ] name

要為其更改兼容級別的數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱必須符合標(biāo)識符的規(guī)則。name 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。

[ @new_cmptlevel = ] version

數(shù)據(jù)庫要與之兼容的 SQL Server 的版本。version 的數(shù)據(jù)類型為 tinyint,默認(rèn)值為 NULL。該值必須為下列值之一:

80 = SQL Server 2000

90 = SQL Server 2005

100 = SQL Server 2008

返回代碼值

0(成功)或 1(失?。?/p>

注意事項:

后續(xù)版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發(fā)工作中使用該功能,并盡快修改當(dāng)前還在使用該功能的應(yīng)用程序。 改為使用 ALTER DATABASE 兼容級別。


名稱欄目:sqlserver高級,sqlserver高級教程
URL鏈接:http://weahome.cn/article/dscddos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部