临时表

时间:2017-09-21 07:31:44

标签: function tsql default temporary

当我尝试创建此表时,会出现错误,指出无法识别fns_GetSomeDate:

create table #tmpTable(
id INT,
validity datetime NOT NULL default (dbo.fns_GetSomeDate())
)

和错误:在此上下文中不允许使用“列”dbo“,并且找不到用户定义的函数或聚合”dbo.fns_GetSomeDate“。”归还。

但是当我尝试创建相同的表而不是临时表(没有“#”)时,一切正常:

create table tmpTable(
id INT,
validity datetime NOT NULL default (dbo.fns_GetSomeDate())
)

功能确实存在。有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

你需要在tempdb中创建函数,它将起作用

use tempdb
go
create function fn_getdate
(
)
returns datetime
as
begin



declare @dt datetime
select @dt= getdate()
return @DT
end


create table #tmpTable(
id INT,
validity as  dbo.fn_getdate()
)