
我们知道,SQL Server在用户自定义函数UDF使用临时表,这是不允许的。但是有时是为了某些特殊的场景,我们可以采用以下的方式来实现。
在查询分析器中执行下面的代码:
- CREATE TABLE #temp (id INT)
- GO
- INSERT INTO #temp VALUES (1),(2),(3)
- GO
- CREATE SYNONYM temp_table_synonym FOR #temp
- GO
- CREATE FUNCTION fn_select_temp_table ()
- RETURNS TABLE
- AS
- RETURN
- (
- SELECT * FROM temp_table_synonym
- )
- GO
- SELECT * FROM fn_select_temp_table()
- GO
在上面的代码中我们使用了SYNONYM,这是关键之处。但实际过程中是不推荐这种做法. 这也可能是SQL SERVER另一个BUG吧。
关于SQL Server利用SYNONYM在用户自定义函数中使用临时表的操作就介绍到这里,如果您想了解更多关于SQL Server数据库的知识,可以看一下这里的文章:http://database./sqlserver/,您的收获就是对我们工作的***肯定!
【编辑推荐】
- 在SQL触发器或存储过程中获取登录用户信息
- SQL Server数据库自动化管理分区设计方案图解
- 让SQL Server Management Studio直接连接数据库
- 如何让SQL Server自动定时备份数据库并按日期命名
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/229805.html<