我目前在理解和编写递归查询方面遇到了一些麻烦。我知道递归查询用于搜索信息的层次结构,但我还没有在网上找到一个可以向上移动层次结构的简单解决方案。例如,假设我有一个对家谱建模的关系:
create table family_tree (
child varchar(10)
parent varchar(10)
);
Run Code Online (Sandbox Code Playgroud)
如果我想编写一个递归查询,遍历这个家谱,收集所有父母直到起源,我应该怎么做?
提前致谢。
现在我在Scala中有2个列表:
val one = List(50, 10, 17, 8, 16)
val two = List(582, 180, 174, 159, 158)
Run Code Online (Sandbox Code Playgroud)
这些列表将具有相同的长度,现在我想要将第一个列表中的每个元素除以第二个列表中的相应元素.换句话说,我想要一个包含以下内容的列表:
List(50/582, 10/180, etc...)
Run Code Online (Sandbox Code Playgroud)
是否有一个完成此操作的set操作可以在不循环的情况下完成?
谢谢!
我使用JDBC在ResultSet中遇到了一些问题.
这是我的关系:
create table person (
person_id number(5) generated always as identity
minvalue 1
maxvalue 99999
increment by 1 start with 1
cycle
cache 10,
firstname varchar(10) not null,
lastname varchar(10) not null,
);
Run Code Online (Sandbox Code Playgroud)
我正在尝试将(名字,姓氏)插入元组,然后获取其中的person_id.这是我的JDBC代码:
//connection is taken care of beforehand and is named con
prep = con.prepareStatement("insert into person (firstname, lastname) values (?, ?)", Statement.RETURN_GENERATED_KEYS);
prep.setString(1, firstname);
prep.setString(2, lastname);
prep.execute();
ResultSet generated = prep.getGeneratedKeys();
if (generated.next()) {
String key = generated.getString("0");
System.out.println(key);
}
Run Code Online (Sandbox Code Playgroud)
这很好用.但我的问题是密钥应该是整数,而不是字符串.每次我跑,我得到一个包含"AAA3vaAAGAAAFwbAAG",或类似的规定的字符串的ResultSet.我想获取person_id,以便稍后在我的Java程序中使用它.
在搜索ResultSet或执行语句本身方面,我有什么问题吗?