【发布时间】:2015-03-05 16:41:48
【问题描述】:
是否可以在不重写源代码的情况下动态地(重新)定义 SQL 中的基本运算符?
例如定义类似的东西
CREATE TYPE <type> [...]
转换为一组默认语句。还是重新定义CREATE?
是否有任何 DMBS 可以做到这一点?
更新:
好的,选择TYPE 作为示例的一部分是个坏主意。很抱歉造成混乱。
我想知道的是,是否可以定义如下:
CREATE NEW ENTITY <Name> WITH <Attribute,...>
CREATE NEW OBJECT <ObjectName> OF <EntityName> WITH VALUES <Attribute=Value,...>
然后,这将被转换为一组创建或更新关系的标准语句。
我想评估一种使用仅关系型 DBMS 对 RM/T 建模的方法。
【问题讨论】:
-
为什么需要这个?用例是什么?
-
“类型”和“运算符”是两个完全不同的东西。你到底在说什么。以及针对哪个 DBMS(Postgres?Oracle?)。您要解决的问题是什么?
-
请查看更新。它不是针对特定的 DBMS,它只是对工作量证明的评估。
-
据我所知,“SQL”(标准)中没有这样的东西。但是例如Postgres 确实为您提供了类似的东西。通过新类型或通过域(还有其他 DBMS 也支持域)
标签: sql syntax user-defined-functions