Sql 使用Create Table调用用户定义函数
我有以下功能Sql 使用Create Table调用用户定义函数,sql,sql-server,Sql,Sql Server,我有以下功能 CREATE FUNCTION GetIdentity() RETURNS INT AS BEGIN RETURN (IDENT_CURRENT('tblTempPo')) END GO 我需要用createtable调用它 create table tblTempPo ( ID int null, BrickVolume AS ( GetIdentity() ) ) 我发现了错误 “G
CREATE FUNCTION GetIdentity() RETURNS INT AS
BEGIN
RETURN (IDENT_CURRENT('tblTempPo'))
END
GO
我需要用createtable调用它
create table tblTempPo
(
ID int null,
BrickVolume AS
(
GetIdentity()
)
)
我发现了错误
“GetIdentity”不是可识别的内置函数名
如何解决此问题?您需要添加
dbo
(或任何架构名称)以正确调用函数:
create table tblTempPo
(
ID int null,
BrickVolume AS(dbo.GetIdentity())
)
不过,为了让您的示例发挥作用,您可能希望执行以下操作:
CREATE TABLE tblTempPo
(
ID INT IDENTITY(1,1) NOT NULL,
AnotherField VARCHAR(10),
BrickVolume AS (dbo.GetIdentity())
)
GO
INSERT INTO tblTempPo VALUES('a')
INSERT INTO tblTempPo VALUES('b')
INSERT INTO tblTempPo VALUES('c')
SELECT * FROM tblTempPo
SELECT
语句将产生以下结果:
ID AnotherField BrickVolume
-----------------------------------
1 a 3
2 b 3
3 c 3
您应该使用其架构名称调用用户定义函数,如:
dbo.GetIdentity()