Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我可以使用一个计算字段来;计算柱规格“;用于其他场计算?_Sql Server - Fatal编程技术网

Sql server 我可以使用一个计算字段来;计算柱规格“;用于其他场计算?

Sql server 我可以使用一个计算字段来;计算柱规格“;用于其他场计算?,sql-server,Sql Server,我有两张儿童桌。借款人名单,2。返回列表 我在返回列表表中有以下字段: 1.RETURNLISTID-->PKEY 2.MEMBERSHIPID -->FKEY 3.BOOKREFID--FKEY 4.MEMBERFULLNAME-->CALCULATED FIELD(FOR THE CORRESPONDING MEMBERSHIPID GET VALUE FROM MEMBERS TABLE) 5.BORROWDATE-->CALCULATED FIELD(FOR

我有两张儿童桌。借款人名单,2。返回列表

我在返回列表表中有以下字段:

1.RETURNLISTID-->PKEY
2.MEMBERSHIPID -->FKEY
3.BOOKREFID--FKEY
4.MEMBERFULLNAME-->CALCULATED FIELD(FOR THE CORRESPONDING MEMBERSHIPID GET    VALUE FROM MEMBERS TABLE)
5.BORROWDATE-->CALCULATED FIELD(FOR THE CORRESPONDING MEMBERSHIPID,BOOKREFID GET VALUE FROM BORROWERLIST TABLE)
6.ACTUALRETURNDATE--> CALCULATED FIELD(FOR THE CORRESPONDING MEMBERSHIPID,BOOKREFID GET VALUE FROM BORROWERLIST TABLE)
7.USERRETURNDATE-->USER WILL ENTER
8.FINEAMT-->IT SHOULD BE A CALCULATED FIELD.I HAVE CREATED A FUNCTION.
我创建了一个函数,使用ACTUALRETURNDATE和USERRETURNDATE计算fineamt。我在字段中调用函数时出错

所以,我的疑问是,我能用一个计算出的场来计算吗

在下面找到我的函数

create function dbo.GETFINEAMT(@ACTUALRETURNDATE DATETIME ,@USERRETURNDATE    DATETIME)
RETURNS INT
AS
BEGIN
DECLARE @FINEAMT INT
DECLARE @DATEDIFF INT
SET @DATEDIFF=CONVERT(INT,(DATEDIFF(DD,'@ACTUALRETURNDATE','@USERRETURNDATE')))
SET @DATEDIFF = ABS(@DATEDIFF)
SET @FINEAMT=@DATEDIFF *10
RETURN @FINEAMT
END
GO

若所有计算列的值都来自UDF,那个么您一定是在某个地方出错了。所以hv会查看您的代码

看到这个直接的示例抛出错误

Declare @t table(col int,col2 as col+1 PERSISTED,col3 as col2+1)
insert into @t values(1)
select * from @t

将结果集插入到#表中,然后将其传递给函数能否添加表和函数的创建脚本?我删除了该finemant列,然后使用查询ALTER table RETURNLIST将finemant添加为dbo.getfinemant(ACTUALRETURNDATE,USERRETURNDATE)。但我还是犯了这个错误。“表'RETURNLIST'中的计算列'ACTUALRETURNDATE'不允许在另一个计算列定义中使用。”在上面添加了我的函数。ACTUALRETURNDATE列是计算列。我删除了该fineamt列,并使用查询ALTER table RETURNLIST ADD fineamt AS dbo.GETFINEAMT(ACTUALRETURNDATE,USERRETURNDATE)再次添加。但我还是犯了这个错误。“表'RETURNLIST'中的计算列'ACTUALRETURNDATE'不允许在另一个计算列定义中使用。”在上面添加了my函数。ACTUALRETURNDATE列是计算列。