select
Convert
(
varchar
,
Convert
(
money
,TaxExValue),
1
)
from
A
--
Result
2
,
794.87
58
,
119.66
1
,
367.52
对于SQL Server来说,进行金额的转换,可以按照上面的操作那样,会自动将金额处理为两位小数,并用逗号分隔小数点前面的数字。
当然可以用字符串拼接的方式,将金额符号加上去。
对于项目中,客户需要将金额转换的时候,这样处理显示出来的效果会好一些。
一下是用ORACLE的显示结果。
Select
to_char(hisal,
'
L9,999
'
)
as
Value
from
SALGRADE
--
result
¥
1
,
200
¥
1
,
400
¥
2
,
000
¥
3
,
000
¥
9
,
999
-- Decode()函数
//SQL Server 下,用case 实现
select
case
'
2
'
when
'
1
'
then
'
内容1
'
when
'
2
'
then
'
内容2
'
when
'
3
'
then
'
内容3
'
End
Union
all
select
case
'
4
'
when
'
1
'
then
'
内容1
'
when
'
2
'
then
'
内容2
'
when
'
3
'
then
'
内容3
'
End
--
Result
内容2
NULL
//Oracle 下,Decode和Case都可以
select
Decode(
'
2
'
,
'
1
'
,
'
内容1
'
,
'
2
'
,
'
内容2
'
,
'
3
'
,
'
内容3
'
)
from
dual
Union
all
select
case
'
2
'
when
'
1
'
then
'
内容1
'
when
'
2
'
then
'
内容2
'
when
'
3
'
then
'
内容3
'
End
from
dual
Union
all
select
Decode(
'
4
'
,
'
1
'
,
'
内容1
'
,
'
2
'
,
'
内容2
'
,
'
3
'
,
'
内容3
'
)
from
dual
Union
all
select
case
'
4
'
when
'
1
'
then
'
内容1
'
when
'
2
'
then
'
内容2
'
when
'
3
'
then
'
内容3
'
End
from
dual;
--
Result
内容2
内容2
Oracle后面两个SQL执行出来的结果不是NULL而是''
外键约束。
删除时同时删除子表数据
Oracle测试用例
1
ORACLE 的测试用例
2
1
drop
table
Materials
3
2
/
4
3
Create
table
Materials
5
4
(
6
5
MaterialID
varchar2
(
30
),
7
6
MaterialCode
varchar2
(
255
),
8
7
MaterialName
varchar2
(
255
),
9
8
Specs
varchar2
(
255
),
10
9
UnitID
varchar2
(
30
),
11
10
constraint
PK_Materials
primary
key
(MaterialID)
12
11
)
13
12
/
14
13
drop
table
MaterialComLinks
15
14
/
16
15
Create
table
MaterialComLinks
17
16
(
18
17
CompanyID
varchar2
(
30
),
19
18
MaterialID
varchar2
(
30
),
20
19
IMUnitID
varchar2
(
30
),
21
20
PUUnitID
varchar2
(
30
),
22
21
constraint
PK_MaterialComLinks
primary
key
(CompanyID,MaterialID),
23
22
constraint
fk_MaterialComLinks
foreign
key
(MaterialID)
references
Materials(Materialid)
on
delete
cascade
24
23
)
25
24
/
26
25
27
26
Insert
into
Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID)
28
27
values
(
'
0001
'
,
'
010101
'
,
'
测试物料1
'
,
'
规格型号
'
,
'
计量单位
'
)
29
28
/
30
29
Insert
into
Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID)
31
30
values
(
'
0002
'
,
'
010102
'
,
'
测试物料2
'
,
'
规格型号2
'
,
'
计量单位2
'
)
32
31
/
33
32
Insert
into
MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)
34
33
values
(
'
01
'
,
'
0001
'
,
'
库存计量单位1
'
,
'
采购计量单位1
'
)
35
34
/
36
35
Insert
into
MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)
37
36
values
(
'
01
'
,
'
0002
'
,
'
库存计量单位2
'
,
'
采购计量单位2
'
)
38
37
/
39
38
Insert
into
MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID)
40
39
values
(
'
02
'
,
'
0002
'
,
'
库存计量单位3
'
,
'
采购计量单位3
'
)
上两个建表语句分别为创建
集团物料字典表,和公司物料表。
并预制了集团物料两条数据和公司物料两条数据
结果
select
*
from
Materials
;
Select
*
from
MaterialComlinks
--
Result1
0001
010101
测试物料1 规格型号 计量单位
0002
010102
测试物料2 规格型号2 计量单位2
--
Result2
01
0001
库存计量单位1 采购计量单位1
01
0002
库存计量单位2 采购计量单位2
02
0002
库存计量单位3 采购计量单位3
当在集团物料中删除对应物料信息时,自动删除公司物料下的对应数据。
View Code
delete
from
Materials
where
MaterialID
=
'
0001
'
select
*
from
Materialcomlinks
--
Reuslt
01
0002
库存计量单位2 采购计量单位2
02
0002
库存计量单位3 采购计量单位3

