帮我修改一下错误。

hz03zhuhaowen 2010-07-24 11:33:34

CREATE FUNCTION [dbo].[GET_UDC]
(
@P01_DB varchar(6),
@P02_SYSTEMCODE varchar(4),
@P03_REASONTYPE varchar(2),
@P04_KEY varchar(10)
)
--RETURNS INT
AS
BEGIN

return (select drdl01 from dbo.f0005
where drsy = rtrim(ltrim(@P02_SYSTEMCODE)) and drrt = rtrim(ltrim(@P03_REASONTYPE)) and rtrim(ltrim(drky)) = rtrim(ltrim(@P04_KEY)))

END

执行报错:
消息 156,级别 15,状态 1,过程 GET_UDC,第 9 行
关键字 'AS' 附近有语法错误。
消息 178,级别 15,状态 1,过程 GET_UDC,第 12 行
在此上下文中不能使用带有返回值的 RETURN 语句。
...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2010-07-24
  • 打赏
  • 举报
回复

CREATE FUNCTION [dbo].[GET_UDC]
(
@P01_DB varchar(6),
@P02_SYSTEMCODE varchar(4),
@P03_REASONTYPE varchar(2),
@P04_KEY varchar(10)
)
RETURNS INT
AS
BEGIN

return (select drdl01 from dbo.f0005
where drsy = rtrim(ltrim(@P02_SYSTEMCODE)) and drrt = rtrim(ltrim(@P03_REASONTYPE)) and rtrim(ltrim(drky)) = rtrim(ltrim(@P04_KEY)))

END


hao1hao2hao3 2010-07-24
  • 打赏
  • 举报
回复
as
后面要加上begin,当然后面也要有end了。
hao1hao2hao3 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hao1hao2hao3 的回复:]
SQL code

return (select drdl01 from dbo.f0005
where drsy = rtrim(ltrim(@P02_SYSTEMCODE)) and drrt = rtrim(ltrim(@P03_REASONTYPE)) and rtrim(ltrim(drky)) = rtrim(ltrim(@P04_KEY)))



改成

SQL ……
[/Quote]

Sorry,弄错了。
hao1hao2hao3 2010-07-24
  • 打赏
  • 举报
回复

return (select drdl01 from dbo.f0005
where drsy = rtrim(ltrim(@P02_SYSTEMCODE)) and drrt = rtrim(ltrim(@P03_REASONTYPE)) and rtrim(ltrim(drky)) = rtrim(ltrim(@P04_KEY)))


改成

select drdl01 from dbo.f0005
where drsy = rtrim(ltrim(@P02_SYSTEMCODE)) and drrt = rtrim(ltrim(@P03_REASONTYPE)) and rtrim(ltrim(drky)) = rtrim(ltrim(@P04_KEY))

hokor 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 hz03zhuhaowen 的回复:]
SQL code

CREATE FUNCTION [dbo].[GET_UDC]
(
@P01_DB varchar(6),
@P02_SYSTEMCODE varchar(4),
@P03_REASONTYPE varchar(2),
@P04_KEY varchar(10)
)
--RETURNS INT
AS
BEGIN

retu……
[/Quote]
去掉注释执行成功。
注释掉“RETURNS INT” 报错:
Msg 156, Level 15, State 1, Procedure GET_UDC, Line 9
关键字 'AS' 附近有语法错误。
Msg 178, Level 15, State 1, Procedure GET_UDC, Line 12
在此上下文中不能使用带有返回值的 RETURN 语句。

TheGodOfGods 2010-07-24
  • 打赏
  • 举报
回复
--RETURNS INT
为何要把这句注释掉?
hz03zhuhaowen 2010-07-24
  • 打赏
  • 举报
回复
是我搞错了,呵呵,谢谢各位了。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧