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 视图的问题
--创建临时表
CreateTable#Tmp
(
NameVarchar(250),
ErrVarchar(8000)
)
--定义游标,查询所有试图
Declare@NameVarchar(250)
DECLARECurCURSORFOR
Selectnamefromsys.views
OPENCur
FETCHNEXTFROMCurINTO@Name
WHILE@@FETCH_STATUS=0
BEGIN
Begintry
--SETFMTONLYon,只将元数据返回给客户端而不必实际执行查询
Exec('SETFMTONLYonSelect*from'+@Name)
Endtry
BeginCatch
--记录执行错误的视图名和错误消息
Insertinto#Tmpvalues(@Name,ERROR_MESSAGE())
EndCatch
FETCHNEXTFROMCurINTO@Name
End
CLOSECur
DEALLOCATECur
Select*From#Tmp
DropTable#Tmp
sqlserver中创建视图问题
CREATEViewvStoreAS
SELECT入库时间
,CASE值1
WHEN'桌子'THEN1
WHEN'椅子'THEN2
WHEN'凳子'THEN3
ENDASCode1
,CASE值2
WHEN'对'THEN1
ELES0
ENDASCode2
FROMTableX
sql server 视图效率问题
1、SQL本来就应该尽量少用视图,更何况你这么大数据量 2、每个表要建索引 3、语句优化,我给你写成一个存储过程,你可以试下 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视图问题:如何创建表名是动态确定的视图?
看了各位高手的回答,思路是对的。那我来总结下你的问题: 问题、所有的数据表结构完全一样,每月一张,要联合起来形成一张视图。动态生成视图。 难处,就是这个生成的动作如何触发?那么这里就要把用存储过程和数据库作业结合起来用了。 存储过程用于动态生成视图;而数据库作业就是触发的动作,什么时候做的问题。 2个步骤解决你的疑问。第一,建存储过程;第二,建数据库作业。那么如果设置调度时间呢,我们假设就是每个月的月初,来生成上个月的数据表,此时完成之后,即可调度生成视图,这个表大概什么时候生成,你总应该知道吧,过程如下: create proc CreateViewMonth as declare @sql展开全文阅读
下一篇
返回列表