And*_*ler 2 sql database sql-server
SQL Fiddle目前关于SQL Server代码,所以这里是一个.txt包含DDL创建我正在使用的模式的dropbox链接:
https://www.dropbox.com/s/6si4r37449q3ajb/DDL.txt?dl=0
我正在攻读考试并努力解决一个问题.
创建一个函数来计算过去三年中每个部门安装的软件包的总成本(给定软件包的名称).检查名称是否准确.
这是我的解决方案:
create function total_cost_of_sofpack_in_lst3yrs
(@pack_name varchar(20))
returns table
as
return(
select sum(packcost) as total_pk_cost, location
from package
inner join software on package.PACK = software.PACK
inner join pc on software.tagnum = pc.tagnum
where package.PACKNAME = @pack_name
and software.INSTDATE > dateadd(year, -3, getdate())
group by pc.location)
go
select dbo.total_cost_of_sofpack_in_lst3yrs('Manta') as R
Run Code Online (Sandbox Code Playgroud)
创建函数的语句通过,但是当我尝试通过测试场景执行它时,我收到以下错误:
找不到列"dbo"或用户定义的函数或聚合"dbo.total_cost_of_sofpack_in_lst3yrs",或者名称不明确.
谢谢你的帮助.
由于返回类型TABLE来自函数,因此需要调用as
SELECT * FROM dbo.total_cost_of_sofpack_in_lst3yrs('Manta')
Run Code Online (Sandbox Code Playgroud)