zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

巧借SYNONYM让SQL Server在用户自定义函数中使用临时表

2023-03-31 11:10:10 时间

我们知道,SQL Server用户自定义函数UDF使用临时表,这是不允许的。但是有时是为了某些特殊的场景,我们可以采用以下的方式来实现。

在查询分析器中执行下面的代码:

  1. CREATE TABLE #temp (id INT)  
  2.  
  3. GO  
  4.  
  5. INSERT INTO #temp VALUES (1),(2),(3)  
  6.  
  7. GO  
  8.  
  9. CREATE SYNONYM temp_table_synonym FOR #temp  
  10.  
  11. GO  
  12.  
  13. CREATE FUNCTION fn_select_temp_table ()  
  14.  
  15. RETURNS TABLE  
  16.  
  17. AS  
  18.  
  19. RETURN  
  20.  
  21. (  
  22.  
  23. SELECT * FROM temp_table_synonym  
  24.  
  25. )  
  26.  
  27. GO  
  28.  
  29. SELECT * FROM fn_select_temp_table()  
  30.  
  31. GO 

在上面的代码中我们使用了SYNONYM,这是关键之处。但实际过程中是不推荐这种做法. 这也可能是SQL SERVER另一个BUG吧。

关于SQL Server利用SYNONYM在用户自定义函数中使用临时表的操作就介绍到这里,如果您想了解更多关于SQL Server数据库的知识,可以看一下这里的文章:http://database.51cto.com/sqlserver/,您的收获就是对我们工作的***肯定!

【编辑推荐】

  1. 在SQL触发器或存储过程中获取登录用户信息
  2. SQL Server数据库自动化管理分区设计方案图解
  3. 让SQL Server Management Studio直接连接数据库
  4. 如何让SQL Server自动定时备份数据库并按日期命名