alter FUNCTION [Kuri].[fnGetAge](@kuri_cust_Id int,@amt decimal)
RETURNS SMALLINT
AS
BEGIN
DECLARE @isVallid bit = 0
declare @payed decimal(14,2)
declare @totaltillnow decimal(14,2)
select @payed = isnull(SUM(Payment.amt),0) from Kuri.Payment where Payment.Kuri_Cust_ID = @kuri_Cust_id
select @totaltillnow = isnull(SUM(NextLotAmount),0) from Kuri.Kuri_GivenDetails
inner join Kuri.kuri_Customer
on Kuri_GivenDetails.kuri_Id = kuri_Customer.kuri_ID
where kuri_Customer.kuri_Cust_id = @kuri_Cust_id
if((@payed + @amt) < @totaltillnow)
set @isVallid = 1
RETURN @isVallid
END;
GO
ALTER TABLE [Kuri].[Payment] WITH CHECK ADD CONSTRAINT PaymentCheck CHECK (kuri.fnGetAge(kuri_Cust_ID,amt) >= 1 )
GO
错误 :
ALTER TABLE语句与CHECK约束“ PaymentCheck”冲突。数据库“ MERP”的表“ Kuri.Payment”中发生了冲突。
表结构是这样的
CREATE TABLE [Kuri].[Payment](
[payment_ID] [int] IDENTITY(1,1) NOT NULL,
[payment_Date] [date] NOT NULL,
[bill_No] [nvarchar](25) NOT NULL,
[Kuri_Cust_ID] [int] NOT NULL,
[vr_ID] [int] NOT NULL,
[amt] [decimal](14, 2) NULL,
[created_ID] [int] NULL,
[created_Date] [datetime] NULL,
[modified_ID] [int] NULL,
[modified_Date] [datetime] NULL,
[authorized_ID] [int] NULL,
[authorized_Date] [datetime] NULL,
CONSTRAINT [PK_Payment] PRIMARY KEY CLUSTERED
([payment_ID] ASC)
ALTER TABLE [Kuri].[Payment] WITH CHECK ADD CONSTRAINT [FK_Payment_kuri_Customer] FOREIGN KEY([Kuri_Cust_ID])
REFERENCES [Kuri].[kuri_Customer] ([Kuri_Cust_ID])
ALTER TABLE [Kuri].[Payment] CHECK CONSTRAINT [FK_Payment_kuri_Customer]
该错误清楚地表明:表中的某些行 违反 了检查约束。
由于您的检查约束条件测试为kuri.fnGetAge(kuri_Cust_ID,amt) >= 1
,因此您可以使用来找到违反此检查约束条件的行
SELECT * FROM Kuri.Payment
WHERE kuri.fnGetAge(kuri_Cust_ID, amt) < 1
修复或删除这些行,然后就可以了,您的ALTER TABLE
命令应该可以正常工作
问题内容: 我有一个带有客户ID的table_Project(链接到tbl_Customer)。在tbl_Customer中,我有Customer_ID(作为密钥)和其他一些信息,例如电话,电子邮件等。 要将其从Gridview中删除,请使用以下DeleteCommand: 但这给了我以下错误: 但是通过更新CustomerInfo我没有得到任何错误。我已经看到了C#的不同解决方案,但是我使用.n
为什么向表添加外键会导致此错误? ALTER TABLE语句与外键约束“FK_utbldomare_upersn_u5f7e2dac”冲突。冲突发生在数据库“almu0004”、表“dbo.tblBana”、列“BanNR”中。 密码
问题内容: 我收到以下错误。请你帮助我好吗? 消息547,级别16,状态0,第1行 INSERT语句与FOREIGN KEY约束“ FK_Sup_Item_Sup_Item_Cat”发生冲突。在数据库“ dev_bo”的表“ dbo.Sup_Item_Cat”中发生了冲突。该语句已终止。 代码: 最后一列是导致该错误的原因。我试图将已经存在的值放入对应于sup_item的列中。 问题答案: 在您的
问题内容: 我已经将一个现有的Java应用程序导入到我的工作区中。我看到,在应用程序中的不同包中存在具有相同名称的类。 例如,存在一个名为“ Status.java”的类,其中包含 当我尝试在一个类中同时使用它们时,例如如下所示 它开始在Eclipse中指出一个错误 该 进口com.bayer.frontlayer.dao.Status 碰撞与其他import语句 有没有解决这个问题而无需更改类的
问题内容: INSERT语句与CHECK约束“ ”冲突。在数据库“ C:\ DOCUMENTS AND SETTINGS \ KARTHIKEYAN \ DESKTOP \ KOK \ DB \ INFT3009_ASS1_C3104855.MDF”的表“ dbo.Members”的列“ ”中发生了冲突。该语句已终止。 我在Visual Studio 2008 Express中使用.MDF文件。我
是否有代码缺失/不正确? 谢谢