SQL查询声明问题

Cel*_*l-o 1 sql-server-2008

我有一个如下所示的视图。视图运行良好。当我尝试运行视图时,出现以下错误。可能是什么问题?

Incorrect syntax near the keyword 'Declare'
Run Code Online (Sandbox Code Playgroud)

SQL查询:

create View [dbo].StokMaliyet
AS
Declare @Dolar decimal(18,3),@Euro decimal(18,3)

set @Dolar=(select Dolar from GunlukDoviz
set @Euro=(select Euro from GunlukDoviz)

 select Stok_Kodu,
 (case
 when dovtip='3' then net_maliyet
 when dovtip='2' then ((net_maliyet)*@Dolar)/@Euro
 When dovtip='0' then (net_maliyet)/@Euro
 end )  as Maliyet
 from ib_mlyt
Run Code Online (Sandbox Code Playgroud)

gar*_*rik 5

您不能declare在视图中使用和任何代码操作(当然,仅在 SQL Server 上使用select 语句)。

CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ]

<view_attribute> ::= 
{
    [ ENCRYPTION ]
    [ SCHEMABINDING ]
    [ VIEW_METADATA ]     } 
Run Code Online (Sandbox Code Playgroud)

查看更多详情

使用存储过程代替视图