这真的更像是一个"我能做到吗"理论问题。是否可以将执行代码存储在表的记录列中。
让我们把这一点放到转移到电子媒体的桌面纸牌游戏的角度。 假设你有4个玩家有20个生命值。
当然,记录将代表一张卡片。 列将是给定卡的数量,每张卡将处理的损坏,用于卡描述的字符串列,以及最后为代表特殊能力的卡的执行代码保留的列。
当玩牌时,任何可执行代码都会影响结果。
答案 0 :(得分:5)
答案 1 :(得分:0)
在我看来,您正试图将面向对象的设计原则(封装在一起的数据和功能/方法)应用于关系数据库。如果这是正确的,那么您可以考虑在Oracle中使用PL / SQL包。该包将是表的包装器,提供select / retrieve / insert / update / delete方法或函数,以及其他业务方法,这些方法采用主键值来标识您要操作的对象(卡),然后执行某些操作基于该对象的属性(行的列值)和/或其他参数。据推测,算法在卡与卡之间变化不大,因此无法进行推广和参数化。附带福利,它将是可管理的,编译和缓存以获得最高性能。 PL / SQL不是面向对象的,比如Java或C ++,但它确实支持对象数据属性和相关功能的封装。