6.7. Enforcing Business Rules with Column Expressions
Problem
You need to enforce a business rule based on multiple columns in a table at the user interface tier.
Solution
Use expression-based columns to enforce business rules at the user
interface tier. The business rule for this solution is that the sum
of Field1 and
Field2 for a row in the table must be
10.
The schema of table TBL0607 used in this solution is shown in Table 6-5.
Table 6-5. TBL0607 schema
|
Column name |
Data type |
Length |
Allow nulls? |
|---|---|---|---|
|
Id |
|
4 |
No |
|
Field1 |
|
4 |
No |
|
Field2 |
|
4 |
No |
The sample uses four stored procedures, which are shown in Example 6-21 through Example 6-24:
SP0607_DeleteUsed to delete a record from the table TBL0607 for a specified Id
SP0607_GetUsed to retrieve a record for a specified Id or all records from the table TBL0607
SP0607_InsertUsed to insert a record into the table TBL0607
SP0607_UpdateUsed to update a record in the table TBL0607
Example 6-21. Stored procedure: SP0607_Delete
CREATE PROCEDURE SP0607_Delete
@Id int
AS
SET NOCOUNT ON
delete
from
TBL0607
where
Id=@Id
return 0Example 6-22. Stored procedure: SP0607_Get
CREATE PROCEDURE SP0607_Get
@Id int=null
AS
SET NOCOUNT ON
if @Id is not null
begin
select
Id,
Field1,
Field2
from
TBL0607
where
Id=@Id
return 0
end
select
Id,
Field1,
Field2
from
TBL0607
return 0Example 6-23. Stored procedure: SP0607_Insert
CREATE PROCEDURE SP0607_Insert @Id int, @Field1 int, @Field2 int AS SET NOCOUNT ON insert TBL0607( Id, Field1, Field2) values ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access