我正在创建一个设备管理系统,其中所有设备(如手机,PDA,计算机等)都链接到“所有者”。
设置tbldevice我发现我没有从所有设备获得IMEI号码,有些只是显示序列号,有些甚至没有这些。
当我在表中插入已经使用的设备时,我没有包装,通常可以找到序列号。
但我想使用EITHER序列号或IMEI作为PK来避免重复。现在我有两个用于s / n和IMEI的字段。由于上述原因,我无法合并PK。
知道如何设置合适的PK吗?
答案 0 :(得分:0)
可能添加填充
的列nvl(SN,'##SN##') || nvl(IMEI,'#IMEI#')
和更新/插入表时填充它的一些逻辑。如果它们是数字,则可以用一些未使用的数字替换丢失的数字,例如
nvl(SN,9999999999) || nvl(IMEI,9999999999)
在列上创建主键。
答案 1 :(得分:0)
如果您还没有IMEI或序列号无法识别手机/ pda,那么您需要IMEI和/或序列号,并且两者都必须是唯一的。
并且可以将IMEI和序列号组合成一个主键,但有一个技巧:如果没有IMEI填入一个不与现有IMEI值冲突的唯一值,例如唯一号码,或连接随机和时间戳;和序列号的相同行为。
然后IMEI和序列号不具有重复的空值,您可以执行组合的主键。