创建简单的存储过程和视图

IT新人的第一篇技术性文章,今天的收获:

存储过程

(1)直接读取数据

1 CREATE PROC spSupplierAgentList(存储过程名)
2 AS
3     SET NOCOUNT ON
4     SET ANSI_WARNINGS OFF
5 select * from vwSupplierAgent(视图名) 

(2)存储页面数据

 1 CREATE PROC spSupplierAgentUpd(存储过程名)
 2 
 3 (--参数
 4 
 5 @SupplierAgentID INT = NULL,
 6 
 7 @AgentName  VARCHAR(100),
 8 
 9 @SupplierID INT
10 
11 )
12 
13 AS 
14 
15 SET NOCOUNT ON
16 
17 SET ANSI_WARNINGS OFF
18 
19 
20 DECLARE @ErrMsg VARCHAR(80)--错误信息
21 
22 
23 DECLARE @NewID INT
24 
25 
26 BEGIN TRAN
27 
28 IF ISNULL(@SupplierAgentID,0)<=0--原数据库中无数据则插入
29 
30     BEGIN INSERT INTO SupplierAgent(AgentName,SupplierID) VALUES
31 
32     (@AgentName,@SupplierID)
33 
34 IF @@Error <> 0
35 
36     BEGIN
37 
38          SET @ErrMsg='新增供应商代理失败'
39 
40             ROLLBACK TRAN
41 
42          GOTO ErrHandler
43 
44     END
45 
46     SELECT @NewID=SCOPE_IDENTITY()
47 
48 END
49 
50 ELSE --原数据库中有数据则更新
51 
52 BEGIN
53 
54     UPDATE SupplierAgent Set AgentName=@AgentName, SupplierID=@SupplierID
55 
56     WHERE SupplierAgentID=@SupplierAgentID
57 
58         IF @@Error<>0
59 
60             BEGIN
61 
62             SET @ErrMsg='修改供应商代理失败'
63 
64         ROLLBACK TRAN
65 
66         GOTO ErrHandler
67 
68     END
69 
70     SET @NewID=@SupplierAgentID
71 
72     END
73 
74 COMMIT TRAN
75 
76     SELECT @NewID AS BillID
77 
78 RETURN 
79 
80     ErrHandler:
81 
82     RAISERROR(@ErrMsg,11,1)

 

(3)新建一个视图

1 CREATE VIEW vwSupplierAgent        --    新建一个视图
2 
3 AS 
4 
5 SELECT SA.SupplierAgentID,SA.AgentName,SA.SupplierID,S.SupplierName FROM SupplierAgent SA
6 
7 INNER JOIN Supplier S ON SA.SupplierID=S.SupplierID        --将两个表连接起来

 

 

 

posted @ 2008-12-02 16:57  水滴石穿,绳锯木断  阅读(313)  评论(0)    收藏  举报