日期:2014-05-18  浏览次数:20454 次

---------------------table 可以作为 create function(参数) 的参数么?-------------------
如题,如果可以应该怎么写?

------解决方案--------------------
不可以
------解决方案--------------------
可以作为表变量输出参数。 :)
------解决方案--------------------
--传个表名?

CREATE FUNCTION my_func (@tb_name varchar(20))
as
--使用动态语句完成查询
set @sql as varchar(100)
set @sql = 'select * from ' + @tb_name
exec(@sql)
begin

my_func( 'tb_name ')
------解决方案--------------------
输出表不可以的,但是传表名是不可以的
------解决方案--------------------
输出表不可以的,但是传表名是可以的
------解决方案--------------------
--内嵌表值函数
CREATE FUNCTION uf_test (@ID varchar(30))
RETURNS TABLE
AS
RETURN (SELECT * FROM a,b WHERE s.id = @id and
a.title_id = b.title_id )
go

------解决方案--------------------
回复人:duanzhi1984(莫邪) ( ) 信誉:100 2007-09-20 16:05:08 得分:0
? 输出表不可以的,但是传表名是可以的

===========================
你说倒过来了:)
------解决方案--------------------
同意鸟,不可以,自定义函数中除扩展存储过程外,其他存储过程或sql字条串不可执行
------解决方案--------------------
不可以的
------解决方案--------------------
同意鸟,不可以,自定义函数中除扩展存储过程外,其他存储过程或sql字条串不可执行

====
正解,大乌龟的函数编译没问题,但执行就会报错。