所以我有一个存储过程执行以下操作(修改了数据参数):
ALTER TABLE dbo.ReceiptInfo NOCHECK CONSTRAINT Credits_ReceiptInfo_FK1;
UPDATE ReceiptInfo SET CreditAccount=@CreditAccount WHERE CreditAccount=@OriginalAccount;
ALTER TABLE dbo.ReceiptInfo CHECK CONSTRAINT Credits_ReceiptInfo_FK1;
这一切都在一个存储过程中,当我从管理工作室执行它时,它运行得很好,但是当从ASP.net调用时跳过了alter约束。我知道它至少执行存储过程,因为我收到一条消息,说更新与约束冲突。
为了记录,我知道这可以通过ON UPDATE CASCADE解决,但是上层管理人员拒绝了该选项。
答案 0 :(得分:2)
当您使用Management Studio执行存储过程时,这可以在您的帐户下完成,该帐户可能具有管理员权限。
当您从asp.net执行sp时,您可能使用另一个帐户,但不允许这样做。