我是SQL Sg服务器的新手,我正在尝试使用create函数运行代码将USD的价格转换为十进制。我得到以下旗帜
“语法不正确:'创建函数'必须是批处理中唯一的语句。
谁能指出我做错了什么?谢谢!
CREATE FUNCTION week3.ConvertToEuro ( @priceUSD decimal(5,2))
returns decimal (5,2)
begin
declare @PriceEuro decimal (5,2)
set @PriceEuro =(@priceUSD * .89)
return @PriceEuro
end
SELECT TOP (1000) [ProductName]
,[price]
,week3.ConvertToEuro(price) as PriceEuro
FROM [AA5100_edmistonml].[Week3].[productprice]
两个语句都不同,你要么单独运行,要么放GO
:
CREATE FUNCTION week3.ConvertToEuro ( @priceUSD decimal(5,2))
returns decimal (5,2)
begin
declare @PriceEuro decimal (5,2)
set @PriceEuro =(@priceUSD * .89)
return @PriceEuro
end
GO
SELECT TOP (1000) [ProductName], [price], week3.ConvertToEuro(price) as PriceEuro
FROM [AA5100_edmistonml].[Week3].[productprice];
尝试如下
CREATE FUNCTION week3.ConvertToEuro ( @priceUSD decimal(5,2))
returns decimal (5,2)
as -- add this
begin
declare @PriceEuro decimal (5,2)
set @PriceEuro =(@priceUSD * .89)
return @PriceEuro
end
go -- add this
SELECT TOP (1000) [ProductName]
,[price]
,week3.ConvertToEuro(price) as PriceEuro
FROM [AA5100_edmistonml].[Week3].[productprice]
尝试创建as
语句并在语句之间添加go
CREATE FUNCTION week3.ConvertToEuro ( @priceUSD decimal(5,2))
returns decimal (5,2)
as
begin
declare @PriceEuro decimal (5,2)
set @PriceEuro =(@priceUSD * .89)
return @PriceEuro
end
go
SELECT TOP (1000) [ProductName]
,[price]
,week3.ConvertToEuro(price) as PriceEuro
FROM [AA5100_edmistonml].[Week3].[productprice]