![]() |
1
4
我认为解决这个问题的方法是使用解析函数… 我设置测试用例时使用:
我已经用过了 领导 函数获取下一个日期,然后将其包装为一个子查询,只需获取“A”记录并添加结束日期(如果有)。
我肯定我错过了一些用例,但你知道。分析函数是您的朋友:)
|
![]() |
2
1
我没有将输入参数作为光标,而是有一个表变量(不知道Oracle是否有这样的东西,我是TSQL的家伙),或者用ID值填充另一个临时表,并在视图/函数中或需要的任何地方联接它。 在我看来,只有当你 有 循环。当您需要循环时,我总是建议在应用程序逻辑中在数据库外部执行该操作。 |
![]() |
3
1
听起来您好像在这里提供了一些读一致性,即:如果您同时修改了修改数据,临时表的内容可能与源数据不同步。 不知道需求,也不知道你想要实现什么的复杂性。我会尝试
数字2可以减少运动部件,解决一致性问题。 马修巴特勒 |
![]() |
4
1
这里真正的问题是“只写”表设计——我的意思是,向其中插入数据很容易,但从中获取有用信息却很困难且效率低下!您的“临时”表具有“永久”表应该具有的结构。 你可以这样做吗:
然后,您可以从新表中选择以执行报告。 |
![]() |
5
0
我不能再同意你了,霍利斯蒂尔。我也曾经是一个TSQL的人,发现甲骨文的一些特性不仅仅是有点让人困惑。不幸的是,临时表在Oracle中并没有那么方便,在这种情况下,其他现有的SQL逻辑期望直接查询一个表,所以我给出了这个视图。在这个系统中,数据库之外实际上没有应用程序逻辑。 Oracle开发人员似乎比我想象的更热衷于使用光标。考虑到pl/sql的束缚性和纪律性,这就更加令人惊讶了。 |
![]() |
6
0
最简单的解决方案是:
您还可以将一个逗号分隔的ID字符串作为函数参数传递,并将其解析为一个表。这是由一个选择执行的。想知道更多——问我怎么做——)但这必须是一个单独的问题。 |
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |