当我尝试创建此表时,会出现错误,指出无法识别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())
)
功能确实存在。有人知道如何解决这个问题吗?
答案 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()
)