SQL SERVER視圖問題
- 資格考試
- 2024-08-08 07:57:18
SQL SERVER 視圖問題
selectF,G,F-Gfrom表
不能這樣么?
如果收款金額是多條記錄,可以這樣:
selectf,gg,f-ggfrom
(
selectf.銷售金額,sum(g.收款金額)asggfromf
leftjoingonf.id=g.id
groupbyf.銷售金額
)
sql server select 視圖的問題
--創(chuàng)建臨時表
CreateTable#Tmp
(
NameVarchar(250),
ErrVarchar(8000)
)
--定義游標,查詢所有試圖
Declare@NameVarchar(250)
DECLARECurCURSORFOR
Selectnamefromsys.views
OPENCur
FETCHNEXTFROMCurINTO@Name
WHILE@@FETCH_STATUS=0
BEGIN
Begintry
--SETFMTONLYon,只將元數(shù)據(jù)返回給客戶端而不必實際執(zhí)行查詢
Exec('SETFMTONLYonSelect*from'+@Name)
Endtry
BeginCatch
--記錄執(zhí)行錯誤的視圖名和錯誤消息
Insertinto#Tmpvalues(@Name,ERROR_MESSAGE())
EndCatch
FETCHNEXTFROMCurINTO@Name
End
CLOSECur
DEALLOCATECur
Select*From#Tmp
DropTable#Tmp
sqlserver中創(chuàng)建視圖問題
CREATEViewvStoreAS
SELECT入庫時間
,CASE值1
WHEN'桌子'THEN1
WHEN'椅子'THEN2
WHEN'凳子'THEN3
ENDASCode1
,CASE值2
WHEN'對'THEN1
ELES0
ENDASCode2
FROMTableX
sql server 視圖效率問題
1、SQL本來就應該盡量少用視圖,更何況你這么大數(shù)據(jù)量 2、每個表要建索引 3、語句優(yōu)化,我給你寫成一個存儲過程,你可以試下 create proc test as with c_1 as ( SELECT c.varSOuCode , c.varStoCode , SUM(cd.fltCarWeight) AS fltCarWeight , SUM(cd.mnyCarFreight) AS mnyCarFreight , c.varDsOGoCode , c.dtmCarDate , c.intSingIn , c.nvrCarCompany , c.dtmCBTime FROM dbo.RMS SQL SERVER 2000視圖問題:如何創(chuàng)建表名是動態(tài)確定的視圖?
看了各位高手的回答,思路是對的。那我來總結下你的問題: 問題、所有的數(shù)據(jù)表結構完全一樣,每月一張,要聯(lián)合起來形成一張視圖。動態(tài)生成視圖。 難處,就是這個生成的動作如何觸發(fā)?那么這里就要把用存儲過程和數(shù)據(jù)庫作業(yè)結合起來用了。 存儲過程用于動態(tài)生成視圖;而數(shù)據(jù)庫作業(yè)就是觸發(fā)的動作,什么時候做的問題。 2個步驟解決你的疑問。第一,建存儲過程;第二,建數(shù)據(jù)庫作業(yè)。那么如果設置調度時間呢,我們假設就是每個月的月初,來生成上個月的數(shù)據(jù)表,此時完成之后,即可調度生成視圖,這個表大概什么時候生成,你總應該知道吧,過程如下: create proc CreateViewMonth as declare @sql展開全文閱讀
下一篇
返回列表