我正在尝试创建一个 DBLink。SQL Developer 是我正在使用的客户端。我的远程用户的密码中包含 *。我很难弄清楚这一点。此语法不起作用:
CREATE DATABASE LINK my_link
CONNECT TO daniel identified by *password
USING 'hostname:port/servicename';
Run Code Online (Sandbox Code Playgroud)
我尝试了 '\' 并将密码包装在 {}'s,' 中,但无济于事。我收到“命令未正确结束”错误。任何建议都会有所帮助。我知道这是一个简单的问题,但无法通过谷歌搜索来解决。
我有一个Shipment
表,其中包含有关货件的一些基本数据,还有一个ShipmentItem
表,其中包含有关该货件的附加属性以及foreignKey
表Shipment
的主键。到Shipment
表ShipmentItem
是OneToMany
关系。
我们需要包含一个文本搜索选项,该选项采用给定的输入文本字符串,Shipment
除了三个特定types
的ShipmentItem
名称列之外,还搜索 (make) 的超过 2 个列。这是我当前的查询:
select *
from Shipment shipment
where shipment.deliveryRequestedDate >= '2019-06-09T00:00:00Z'
and shipment.deliveryRequestedDate <= '2019-12-06T23:59:59Z'
and (
shipment.identifierkeyvalues = '12345'
or shipment.carrierReferenceNumber = '12345'
or shipment.uuid in (
select shipmentItem.resultId
from ShipmentItem shipmentItem
where (
shipmentItem.type in (
'poNumber', 'deliveryNoteNumber', 'salesOrderNumber'
)
)
and shipmentItem.name = '12345'
and shipmentItem.deliveryRequestedDate >= '2019-06-09T00:00:00Z'
and shipmentItem.deliveryRequestedDate <= '2019-12-06T23:59:59Z'
) …
Run Code Online (Sandbox Code Playgroud) 我们有一个表结构,父记录和子记录位于同一个表中。它们通过列 ( parentId ) 引用,该列引用父记录(顶部父记录上为 null)。此外,我们有一个请求的日期列,我们通过该列进行所有查询,但唯一具有此值的记录是父记录。
由于我们所有的查询最初都是根据父结果进行过滤并使用此日期,因此我们希望在此日期范围内对表进行分区,但我们知道这是不可能的,因为子记录的记录中存在空值。
除了在数据库中的每个子记录上创建一个“虚拟”值(一些永远不会在我们的过滤器中捕获的任意日期)之外,我们还有什么其他选择?是否不可能以某种方式为我们从未查询过的所有空值创建一个单独的分区?
我有一个包含活动列表的 SQL Server (RDBMS) 表。每个活动都有一个开始和结束日期。
要求是对它们进行排序,以便首先显示具有 NULL 结束日期的那些(建议“当前” - 开始日期降序),但具有开始和结束值的那些要在“的末尾排序当前”行并按 end_date 降序排序。
最后,开始和结束日期的所有值为 null 的值必须位于结果集的末尾。
具有结束日期但开始日期为空的值应在 END 日期 desc 片段中排序的第二部分中进行排序。
postgresql ×2
dblink ×1
index ×1
index-tuning ×1
null ×1
oracle-11g ×1
partitioning ×1
performance ×1
sorting ×1
sql-server ×1