在Derby服务器中,如何使用模式的系统表中的信息来创建select语句,以便检索每个表的约束名称?
相关手册是《Derby参考手册》。有许多版本可用:10.13是2017年4月的最新版本,但在2009年5月是10.3的最新版本。
原始答案
SELECT c.constraintname, t.tablename
FROM sysconstraints c, systables t
WHERE c.tableid = t.tableid;
由于Derby的最新版本要求系统目录表的前缀sys.
在kiwicomb123的注释中引用了10.13
,因此可以修改查询以使用显式的JOIN表示法,并使用:
SELECT c.constraintname, t.tablename
FROM sys.sysconstraints c
JOIN sys.systables t
ON c.tableid = t.tableid;
您可以添加额外的列(例如)c.type
来获取约束类型。
Apache Derby是Apache软件基金会所研发的开放源码数据库管理系统;由于Derby是一个纯Java程式,因此只需要操作系统支援Java虚拟机,Derby便可执行。 Derby是特别地为Java环境进行优化,Derby本身不仅是一个纯Java程式,而且Derby在执行用户的SQL程式时,能够把SQL编译成Java bytecode并以系统的Java虚拟机执行。由于SQL程式转成的Java
见下面的“更新”,我现在知道这是问题的症结所在。 我有一个遗留的Derby数据库,我想制作一个Rails应用程序来与之交互。 我正在使用RVM,所以这是我采取的步骤: 然后我创建了一个模型文件,并使用set_table_name将其设置为一个表名,当我运行rails c时,我得到一个异常,即该表不存在。 我做的时候也在控制台上 唯一返回的表是“schemamigrations”。 我知道数据库没有
问题内容: 根据此链接,没有提及支持4.2hibernate的derby方言。 Hibernate不支持Apache Derby吗? 问题答案: 如果您查看javadoc,则还有更多方言。截至对此问题进行最新更新时,它们是: (已弃用,请参见HHH-6073), , 和 。 对于10.7之后的Derby版本,假设没有添加新的Derby方言类,则该方言是最合适的。(但是,如果发生这种情况,建议选择小
使用Linux;应用程序目录为: java-classpath/home/momy/a1/specter src.spectermain.mainclass 我得到这个错误:错误:无法找到或加载主类src.spectersafemain.MainClass 在netbeans上,该应用程序工作得很好…。我将应用程序重新打包到。exe版本,.exe开始工作,但DB not work显示derby j
我在一个公司代理的后面工作,当试图创建一个新的derbyjs项目时,我得到的错误是它试图安装依赖项 下面是错误的部分。 正在安装依赖项。这可能需要一段时间... npm http获取http://registry.npmjs.org/express/3.0.0beta4 npm错误!错误:协议无效 npm错误!在request.init(C:\Program Files\nodejs\node_m
问题内容: 我正在尝试连接到数据库,运行查询并打印出查询。到目前为止,我已经完成了工作,但是我需要获取输出并将其中的特定部分分配给 我正在使用log4jdbc监视我的查询。 此刻,我得到如下记录的输出: 我想分配给。我该怎么做呢? 问题答案: 通常,a 将为您提供查询(包括绑定参数)。但这取决于的实际实现(例如,使用PostgreSQL隐式实现)。 您提到为您带来回报。我对 log4jdbc 并不