我有一个字符串,它表示格式为 MM/DD/YY 的日期,但是我需要插入到表中的某些日期缺少 MM 和/或 DD 上的前导零。
例如,“9/6/02”。
在将值插入 varchar2 列之前,我需要在字符串的 MM 和 DD 部分添加(必要时)前导零。
这个怎么做?
目前,DBA 将该列作为varchar2
. 该列未进行任何计算或比较,因此仅用于报告目的。我会建议将列更改为日期类型,但与此同时,我需要一个适用于该varchar2
列的解决方案。
我有一个字符串,它表示格式为 MM/DD/YY 的日期,但是我需要插入到表中的某些日期缺少 MM 和/或 DD 上的前导零。
例如,“9/6/02”。
在将值插入 varchar2 列之前,我需要在字符串的 MM 和 DD 部分添加(必要时)前导零。
这个怎么做?
目前,DBA 将该列作为varchar2
. 该列未进行任何计算或比较,因此仅用于报告目的。我会建议将列更改为日期类型,但与此同时,我需要一个适用于该varchar2
列的解决方案。
对于一个唯一目的是允许用户随时上传原始文件数据(到数据库表)的 Web 应用程序,事务模型或维度模型对这样的应用程序更有意义吗?
目前,一些报告是根据数据完成的,但很少。如果将来发生变化(例如报告变得更加普遍),那会改变您建议的模型吗?
数据库总空间100GB。
给定PerformerTours
带有列的表:
FirstName, LastName, Date_1, City_1, State_1, Date_2, City_2, State_2, Date_3, City_3, State_3, Date_4, City_4, State_4
和数据
Donna, Summers, 01/01/20, Atlanta, Georgia
James, Taylor, 02/04/20, Miami, Florida, 04/11/20, Seattle, Washington
Bob, Dylan, 01/11/20, Buffalo, New York, 09/24/20, Nashville, Tennessee, 10/22/20, Chicago, Illinois, 12/12/20, Denver, Colorado
Kenny, Rankin, 06/30/20, Las Vegas, Nevada, 07/04/20, Boston, Massachusetts, 08/18/20, Cincinnati, Ohio
如何仅使用 Oracle SQL 将数据还原为如下定义:
Donna, Summers, 01/01/20, Atlanta, Georgia
James, Taylor, 02/04/20, Miami, Florida
James, Taylor, 04/11/20, Seattle, Washington
Bob, Dylan, 01/11/20, Buffalo, New York
Bob, Dylan, 09/24/20, Nashville, Tennessee
Bob, Dylan, 10/22/20, Chicago, Illinois
Bob, Dylan, 12/12/20, Denver, Colorado
Kenny, Rankin, 06/30/20, Las Vegas, Nevada
Kenny, Rankin, 07/04/20, Boston, Massachusetts
Kenny, Rankin, 08/18/20, Cincinnati, Ohio
Oracle 12.2 PL/SQL
运行时:
declare
s_sql varchar2(200);
begin
s_sql := 'dbms_hs_passthrough.execute_immediate@mylink' || '(''exec sp_get_names'')';
execute immediate 'begin :x; end;' using in s_sql;
end;
/
失败:
PLS-00110: bind variable 'X' not allowed in this context
该程序运行良好
begin
dbms_hs_passthrough.execute_immediate@mylink('exec sp_get_names');
end;
/
但我想保持动态。那么如何(如果有的话)dbms_hs_passthrough.execute_immediate@mylink()
像第一个示例中那样以动态方式执行该过程?注意:理解什么是没有任何意义的dbms_hs_passthrough.execute_immediate@mylink()
,只是如何使它(或任何其他被调用的过程)动态。有什么建议么?
在 RedHat Linux 8 上使用 Oracle 18c
以“SYS”连接到 CDB,我无法弄清楚如何连接到 PDB 中的模式,而不是“SYS”。也许我对 CDB/PDB 架构的理解不够好。
以下是我在以“SYS”身份登录 Oracle 18c CDB 后尝试的操作(使用sqlplus sys as sysdba
):
ALTER SESSION SET CONTAINER= PDB;
conn myschema/mypasswd
我也尝试过(来自 CDB)
conn myschema/mypasswd@PDB;
这两种方法都无法让我连接到myschema
PDB 中的模式。也就是说,我仍然是 PDB 中的“SYS”。
关于如何解决这个问题有什么建议/解释吗?我是否必须为模式设置某种从 CDB 到 PDB 的访问myschema
?
Oracle 数据库 12c 红帽 Linux 7
我想删除 Oracle 表 user_scheduler_job_run_details 上的最后 1000 条记录,因为它变得太大了。如何最好地从 Oracle 表 user_scheduler_job_run_details 中删除行?是否需要采取任何预防措施?是否只是执行 DELETE FROM ... DML 语句的问题?是否有现有的工作或程序来处理这个问题?
尝试为 BI 网页上的下拉菜单创建一个简单的查找表。该表包含 2 列,一个键和一个描述。
设计此表时,关于维度建模的最佳实践是什么?key => number, description => character (column => data type) 是否足够,或者 key 是否需要是 SID?
想想像“国家”这样的网页或网络表单中的下拉菜单。
Red Hat Linux 7 上的 Oracle 标准版 12.1
根据文档,Oracle SE 12.1 默认启用并行执行。但是,在查看数据库参数时,存在以下情况:
PARAMETER VALUE
--------- -----
Parallel execution FALSE
文档中有错误吗?不应该将其设置为 TRUE。
如果不启用并行执行,此参数指的是什么?如果需要设置为TRUE,该怎么做?
Oracle ORDS 3.0
Oracle 12c database
Red Hat Linux 6.8
Tomcat 8.0.22
两个ORDS可以部署到一个web服务器(Tomcat)上访问同一个数据库吗?如果是这样,这是如何实现的?
也就是说,我将向 Tomcat 部署一个 ords1.war 文件和一个 ords2.war 文件,它们都连接到同一个 Oracle 数据库。
更好的是,我需要两个 URL,它们指向在同一个数据库上运行的两个不同的应用程序。也许不需要另一个 ORDS。
每个应用程序的上下文根(通常只是“ords”)必须不同。例如,ords1 和 ords2。因此,认为需要部署 ords1.war 和 ords2.war 文件。
AWS RDS MySQL 5.6.x 问题:
在 AWS RDS 平台上创建了一个 MySQL 数据库。创建了十几个表,将数据导入所有表并且可以从所有表中进行 SELECT。
授予用户对数据库架构的所有权限。
grant all privileges on mysqldb.* to 'username'@'%';
但是,不能创建索引或更改排序规则。以下命令只是挂起并且永远不会返回:
alter schema mysqldb default character set utf8 default collate utf8_general_ci;
create index ix_mytable on mytable(mycol);
AWS RDS 控制面板上或 MySQL Workbench 的错误日志中没有报告任何错误消息。
我有一个本地 MySQL 数据库(我从中导出表数据并将数据移动到 AWS RDS),上述 SQL 在该数据库上运行没有问题。
有任何想法吗?
Oracle XE 11gR1 RHEL 6.3
用于生产环境的 Oracle XE 是否提供 Oracle Wallet?或任何环境?谷歌搜索没有特别声明它不可用。