有这么一个存储过程:
该存储过程实现根据传入的@TableNum值,动态的选择数据库的表。然后执行插入工作。一开始时,在如下代码中
values
(
'
+@RentWay+
'
,
'
+@City+
'
,
'
+@District+
'
,
'
+@Title+
'
,
'
+@Address+
'
,
'
+@XiaoQu+
'
,
'
+UserID+
'
,
'
+HouseType+
'
在调试时出现了很多意想不到的错误。现在把这个错误贴出,用于提醒自己
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
()

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

该存储过程实现根据传入的@TableNum值,动态的选择数据库的表。然后执行插入工作。一开始时,在如下代码中
1
values
(
2
'''
+@RentWay+
'''
,
3
'''
+@City+
'''
,
4
'''
+@District+
'''
,
5
'''
+@Title+
'''
,
6
'''
+@Address+
'''
,
7
'''
+@XiaoQu+
'''
,
8
'
+rtrim(@UserID)+
'
,
9
'
+rtrim(@HouseType)+
'
只是写成了:

2

3

4

5

6

7

8

9









