关于SQL表值函数问题.
CreateFunctionFmx()ReturnTableAsReturn(Declare@T1Table(物料代码Nvarchar(100),物料名称Nvarchar...
Create Function Fmx()
Return Table
As
Return(
Declare @T1 Table(物料代码 Nvarchar(100),物料名称 Nvarchar(100),规格型号 Nvarchar(100),宽度 Decimal(10,3),长度 Decimal(10,3),包数 Int)
Declare @T2 Table(物料代码 Nvarchar(100),物料名称 Nvarchar(100),规格型号 Nvarchar(100),宽度 Decimal(10,3),长度 Decimal(10,3),包数 Int)
Insert @T1 Select 物料代码,物料名称,规格型号,宽度,长度,包数 From 销售订单 A Join 销售订单_Detail B On A.ID号=B.ID号
Where 编号='So-12070203'
Declare @A Int
Declare @B Int
Set @A=1
Select @B= Max(包数) From @T1
While (@A<=@B)
Begin
Insert Into @T2
Select 物料代码,物料名称,规格型号,宽度,长度,包数=1 From @T1 Where 包数>=@a
Set @A=@A+1
End
Select * From @T2
Order By 物料代码
)
消息 156,级别 15,状态 1,过程 Fmx,第 3 行
关键字 'Return' 附近有语法错误。
消息 102,级别 15,状态 1,过程 Fmx,第 22 行
')' 附近有语法错误。
请大家帮忙看看,这个是怎么回事啊? 展开
Return Table
As
Return(
Declare @T1 Table(物料代码 Nvarchar(100),物料名称 Nvarchar(100),规格型号 Nvarchar(100),宽度 Decimal(10,3),长度 Decimal(10,3),包数 Int)
Declare @T2 Table(物料代码 Nvarchar(100),物料名称 Nvarchar(100),规格型号 Nvarchar(100),宽度 Decimal(10,3),长度 Decimal(10,3),包数 Int)
Insert @T1 Select 物料代码,物料名称,规格型号,宽度,长度,包数 From 销售订单 A Join 销售订单_Detail B On A.ID号=B.ID号
Where 编号='So-12070203'
Declare @A Int
Declare @B Int
Set @A=1
Select @B= Max(包数) From @T1
While (@A<=@B)
Begin
Insert Into @T2
Select 物料代码,物料名称,规格型号,宽度,长度,包数=1 From @T1 Where 包数>=@a
Set @A=@A+1
End
Select * From @T2
Order By 物料代码
)
消息 156,级别 15,状态 1,过程 Fmx,第 3 行
关键字 'Return' 附近有语法错误。
消息 102,级别 15,状态 1,过程 Fmx,第 22 行
')' 附近有语法错误。
请大家帮忙看看,这个是怎么回事啊? 展开
展开全部
哎哟,sql server呀,这个不会呢,要是oracle就帮你解决了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是SQL中创建一个返回表名的函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是少了括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-06
展开全部
这个现在已经不会了,完蛋了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
强烈建议创建view!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询