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

数据库 SQL Server
本文主要介绍了在某些特殊的需求下,如何利用SQL Server的一个BUG来让SQL Server在用户自定义函数UDF中使用临时表的方法,希望能对您有所帮助。

我们知道,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自动定时备份数据库并按日期命名
责任编辑:赵鹏 来源: 博客园
相关推荐

2010-09-14 16:47:23

SQL自定义函数

2010-11-12 13:27:13

动态sql

2009-06-23 11:35:44

JSF的Naviati

2010-09-14 16:59:39

SQL自定义函数

2010-09-16 17:56:31

SQL server临

2010-09-16 15:03:10

SQL Server临

2010-07-22 15:56:04

SQL Server临

2010-10-20 16:07:48

SQL用户自定义角色

2010-07-22 16:02:29

2010-07-09 10:08:53

SQL Server函

2010-10-25 16:05:07

oracle自定义函数

2010-10-19 14:45:01

SQL SERVER临

2010-07-20 08:48:14

SQL Server

2022-11-23 15:26:25

Ubuntu程序坞

2021-02-08 11:04:21

嵌套SQL Server语言

2021-01-18 05:23:14

SQL 排序Server

2010-07-26 17:20:53

SQL Server

2010-07-08 14:42:34

SQL Server临

2010-10-19 14:56:05

sql server临

2010-10-19 15:25:05

Sql Server临
点赞
收藏

51CTO技术栈公众号