我将 Visual Basic 与 Microsoft SQL Server 数据库一起用于我的 WinForms 应用程序。
我有 3 张桌子 - 购买、销售、交易(用于付款/收据)
在 Transactions 表中,我使用 Purchase Table 的 RowId 或 Sales Table 的 RowId 作为参考来确定付款属于哪个购买/销售记录。
现在在 Transaction 表中输入记录后,如果 Transactions 表记录中使用了 RowId,我不想让Delete Purchase/Sale 条目。
我尝试过的是采购和销售表的行 ID 都是唯一值,因此创建了 1 个名为 PurchaseSaleIds 的视图,其中两个表的联合值,现在我将 PurchaseSaleIds 作为主键表(视图)和事务作为外键表,但它不是SQL Server 允许在视图和表之间设置外键关系。
Table Purchases 有 BillID 主键列,Table Invoices 有 InvID 主键列,在 Transaction 表下我有 AgainstBillId 列,它将存储 BillID 或 InvID 之间的 ID 号。