永发信息网

关于SQL里面的多表值型函数,谁能指点一下啊

答案:1  悬赏:70  手机版
解决时间 2021-05-23 16:48
  • 提问者网友:难遇难求
  • 2021-05-22 17:07

USE stuDB
GO
IF exists(SELECt * FROM sysobjects WHERe name='myfu2_stuInfo')
DROp FUNCTION myfu2_stuInfo
GO
CREATE FUNCTION myfu2_stuInfo(@stuNo VARCHAr(10))
RETURNS @chidinfo TABLE(

c_name VARCHAr(20),
c_age INT
)
AS
BEGIN
DECLARE @c_name VARCHAr(20),@c_age INT
DECLARE @chid TABLE(

c_name VARCHAr(20),
c_age INT
)
SELECT @c_name=stuName,@c_age=stuAge from stuInfo where stuNo=@stuNo
insert into @chid(c_name,c_age) values(@c_name,@c_age)
return
END
SELECt * FROM dbo.myfu2_stuInfo('t12401')

为什么这样子没有差到数据呢?

c_name c_age
-------------------- -----------

(0 行受影响)

表中符合 stuNo=t12401的数据是有一条的

难到是我代码写错勒?

最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-05-22 17:52
--多表声明表值型函数
USE stuDB
GO
IF exists(SELECt * FROM sysobjects WHERe name='myfu2_stuInfo')
DROp FUNCTION myfu2_stuInfo
GO
CREATE FUNCTION myfu2_stuInfo(@stuNo VARCHAr(10))
RETURNS @chidinfo TABLE(
c_id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
c_name VARCHAr(20),
c_age INT
)
AS
BEGIN
DECLARE @c_name VARCHAr(20),@c_age INT
DECLARE @chid TABLE(
c_id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
c_name VARCHAr(20),
c_age INT
)
INSERT INTO @chid SELECT stuName,stuAge FROM stuInfo WHERe stuNo=@stuNo
INSERT INTO @chidinfo SELECt c_name,c_age FROM @chid
RETURN
END
SELECt * FROM dbo.myfu2_stuInfo('t12401')
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯