2016-09-29 60 views
0

使用一些默认输入和返回表创建一个用户定义函数。 下面的函数结果用于另一个函数。如何使用sql中的用户定义函数选择一个表格列

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

你接近,但在第二UDF你想结果分配到一个表变量。较容易的方法是:

DECLARE @Table Table (keyss varchar(20), valuess varchar(20)) 
INSERT INTO @Table 
SELECT * FROM dbo.Splittext('test') 
SELECT keyss FROM @Table 

谢谢,

相关问题