使用一些默认输入和返回表创建一个用户定义函数。 以下函数结果用于另一个函数。
CREATE FUNCTION dbo.Splittext(@strArgs VARCHAR(4000))
RETURNS @tab TABLE
(
[Key] VARCHAR(25) NOT NULL,
Value VARCHAR(40) NOT NULL
)
AS
BEGIN
INSERT INTO @tab VALUES('Key1', 'Value1')
INSERT INTO @tab VALUES('Key2', 'Value2')
RETURN
END
GO
select * from dbo.Splittext('test') run this funtion output like
Key Value
*************
Key1 Value1
Key2 Value2
以下函数仅返回所选表中的varchar。
CREATE FUNCTION dbo.slecttext()
RETURNs varchar(20)
AS
BEGIN
DECLARE @value varchar(20)
DECLARE @Table Table (keyss varchar(20), valuess varchar(20))
select @Table = value from dbo.Splittext('test')
select @value = Keyys from @Table
Return @value
END
GO
select * from dbo.slecttext() - when i run this function
我需要输出像
keyss
********
Key1
Key2
如果可能这种情况..
答案 0 :(得分:0)
你很接近,但是在第二个udf中,你试图将结果分配给表变量。更简单的方法是:
DECLARE @Table Table (keyss varchar(20), valuess varchar(20))
INSERT INTO @Table
SELECT * FROM dbo.Splittext('test')
SELECT keyss FROM @Table
谢谢,