关于动态添加存储过程的错误

有这么一个存储过程:
 1 ALTER   PROCEDURE   [ dbo ] . [ ap_BuyAndSaleAction ]     
 2      @DataAction   int ,
 3      @ID   int   =   0 ,
 4      @RentWay   nvarchar ( 100 ),
 5      @City   nvarchar ( 100 ),
 6      @District   nvarchar ( 100 ),
 7      @Title   nvarchar ( 100 ),
 8      @Address   nvarchar ( 1000 ),
 9      @XiaoQu   nvarchar ( 100 ),
10 --     @AddTime datetime,
11      @UserID   int ,
12      @HouseType   tinyint ,
13      @Money   money ,
14      @Floor   tinyint ,
15      @TotalFloor   tinyint ,
16      @MainJi   smallint ,
17      @NianDai   nvarchar ( 100 ),
18      @Validity   smallint ,
19      @ZhongJie   tinyint ,
20      @ZhuangXiu   nvarchar ( 1000 ),
21      @PayMent   nvarchar ( 500 ),
22      @ChaoXiang   nvarchar ( 100 ),
23      @ChanQuan   nvarchar ( 100 ),
24      @KaiFaShang   nvarchar ( 100 ),
25      @Contact   nvarchar ( 100 ),
26      @Tel   varchar ( 20 ),
27      @Mobile   varchar ( 20 ),
28      @Memo   nvarchar ( max ),
29      @Memo1   nvarchar ( 50 ),
30      @Memo2   nvarchar ( 50 ),
31      @Memo3   nvarchar ( 50 ),
32      @Flag   tinyint ,
33      @TableNum   nvarchar ( 20 )
34 AS
35 if   @DataAction = 0
36 BEGIN
37      declare   @select   varchar ( max )
38      set   @select   =   ' insert into [tb_ ' + rtrim ( @TableNum ) + ' _BuyAndSale]
39     (
40         [RentWay],
41         [City],
42         [District],
43         [Title],
44         [Address],
45         [XiaoQu],
46         [UserID],
47         [HouseType],
48         [Money],
49         [Floor],
50         [TotalFloor],
51         [MainJi],
52         [NianDai],
53         [Validity],
54         [ZhongJie],
55         [ZhuangXiu],
56         [PayMent],
57         [ChaoXiang],
58         [ChanQuan],
59         [KaiFaShang],
60         [Contact],
61         [Tel],
62         [Mobile],
63         [Memo],
64         [Memo1],
65         [Memo2],
66         [Memo3],
67         [Flag]
68     ) 
69     values(
70          ''' + @RentWay + ''' ,
71          ''' + @City + ''' ,
72          ''' + @District + ''' ,
73          ''' + @Title + ''' ,
74          ''' + @Address + ''' ,
75          ''' + @XiaoQu + ''' ,
76          ' + rtrim ( @UserID ) + ' ,
77          ' + rtrim ( @HouseType ) + ' ,
78          ' + rtrim ( @Money ) + ' ,
79          ' + rtrim ( @Floor ) + ' ,
80          ' + rtrim ( @TotalFloor ) + ' ,
81          ' + rtrim ( @MainJi ) + ' ,
82          ''' +      @NianDai + ''' ,
83          ' + rtrim ( @Validity ) + ' ,
84          ' + rtrim ( @ZhongJie ) + ' ,
85          ''' + @ZhuangXiu + ''' ,
86          ''' + @PayMent + ''' ,
87          ''' + @ChaoXiang + ''' ,
88          ''' + @ChanQuan + ''' ,
89          ''' + @KaiFaShang + ''' ,
90          ''' + @Contact + ''' ,
91          ''' + @Tel + ''' ,
92          ''' + @Mobile + ''' ,
93          ''' + @Memo + ''' ,
94          ''' + @Memo1 + ''' ,
95          ''' + @Memo2 + ''' ,
96          ''' + @Memo3 + ''' ,
97          ' + rtrim ( @Flag ) + ' ) '
98   EXEC ( @select )
99      set   @ID = scope_identity ()

该存储过程实现根据传入的@TableNum值,动态的选择数据库的表。然后执行插入工作。一开始时,在如下代码中
1 values (
2          ''' +@RentWay+ ''' ,
3          ''' +@City+ ''' ,
4          ''' +@District+ ''' ,
5          ''' +@Title+ ''' ,
6          ''' +@Address+ ''' ,
7          ''' +@XiaoQu+ ''' ,
8          ' +rtrim(@UserID)+ ' ,
9          ' +rtrim(@HouseType)+ '
只是写成了:
values (
        
' +@RentWay+ ' ,
        
' +@City+ ' ,
        
' +@District+ ' ,
        
' +@Title+ ' ,
        
' +@Address+ ' ,
        
' +@XiaoQu+ ' ,
        
' +UserID+ ' ,
        
' +HouseType+ '
在调试时出现了很多意想不到的错误。现在把这个错误贴出,用于提醒自己

转载于:https://www.cnblogs.com/Nimeux/archive/2008/07/17/1245537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值