Questions tagged «oracle»

Oracle数据库是由Oracle Corporation创建的多模型数据库管理系统。请勿将此标签用于Oracle拥有的其他产品,例如Java和MySQL。

10
为什么将Oracle表/列/索引名称限制为30个字符?
我可以理解,很多年前会有这种限制,但如今肯定可以轻松地增加此限制。我们有对象的命名约定,但是总有一种情况会达到这个极限,尤其是在命名外键时。 有人真的知道为什么它不是更大吗?还是11g更大? 显然,答案是它将破坏当前没有防御性编码的脚本。我说这是一个非常令人担忧的事情,甲骨文正在试图成为该数据库,想必这是什么样的,你必须不断提高的东西,否则你的产品会死一千削减死亡。 每当我在公司内部看到这种异议时,我认为是时候该硬着头皮整理一下。如果人们运行的脚本在升级Oracle版本时没有检查或维护,那么他们将遭受这种选择的后果。给他们提供一个兼容性标志,大小最大为4000,然后为我节省创建对象的浪费时间,这些对象必须不断地计数到30来检查名称是否为“ OK”。
149 oracle  oracle10g  size 

8
ORA-00979不是依表达式分组
我正在使用以下查询获取ORA-00979: SELECT cr.review_sk, cr.cs_sk, cr.full_name, tolist(to_char(cf.fact_date, 'mm/dd/yyyy')) "appt", cs.cs_id, cr.tracking_number from review cr, cs, fact cf where cr.cs_sk = cs.cs_sk and UPPER(cs.cs_id) like '%' || UPPER(i_cs_id) || '%' and row_delete_date_time is null and cr.review_sk = cf.review_wk (+) and cr.fact_type_code (+) = 183050 GROUP BY cr.review_sk, cr.cs_sk, cf.fact_date, cr.tracking_number ORDER BY …
147 sql  oracle  ora-00979 

8
Oracle中的布尔字段
昨天,我想向Oracle表中添加一个布尔字段。但是,Oracle中实际上没有布尔数据类型。这里有人知道模拟布尔的最佳方法吗?搜寻主题时发现了几种方法 使用整数,不要为它分配0或1之外的任何东西。 使用字符字段“ Y”或“ N”作为仅有的两个值。 使用带有CHECK约束的枚举。 有经验的Oracle开发人员是否知道哪种方法是首选/规范的?

5
Oracle SELECT TOP 10记录
我在Oracle中使用SQL语句遇到了很大的问题。我想选择STORAGE_DB排序的前10条记录,这些记录不在其他select语句的列表中。 此记录适用于所有记录: SELECT DISTINCT APP_ID, NAME, STORAGE_GB, HISTORY_CREATED, TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') AS HISTORY_DATE FROM HISTORY WHERE STORAGE_GB IS NOT NULL AND APP_ID NOT IN (SELECT APP_ID FROM HISTORY WHERE TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') = '06.02.2009') 但是当我添加 AND ROWNUM <= 10 ORDER BY STORAGE_GB DESC 我正在获取某种“随机”记录。我认为是因为限价是在下订单之前进行的。 有人有好的解决方案吗?另一个问题:此查询的速度非常慢(超过10k条记录)
144 sql  oracle  top-n 

9
在SQL字符串中转义&字符
我正在尝试在我的sql数据库中按名称查询某行,并且它有一个&符。我试图先设置一个转义字符,然后再对“&”符号进行转义,但是由于某种原因,这是行不通的,而且我不确定我到底是什么问题。 Set escape '\' select * from V1144engine.T_nodes where node_id in( select node2_id from V1144engine.T_edges where node1_id in( select node2_id from V1144engine.T_edges where node1_id in( select node2_id from V1144engine.T_edges where node1_id = (select node_id from V1144engine.T_nodes where node_name = 'Geometric Vectors \& Matrices'))) and edge_type_id = 1) and node_type_id = …
143 sql  oracle  escaping  sqlplus 


15
外键列表及其引用的表
我试图找到一个查询,该查询将为我返回表的外键以及它们引用的表和列的列表。我在那边 SELECT a.table_name, a.column_name, a.constraint_name, c.owner FROM ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C where A.CONSTRAINT_NAME = C.CONSTRAINT_NAME and a.table_name=:TableName and C.CONSTRAINT_TYPE = 'R' 但是我仍然需要知道该键引用了哪个表和主键。我将如何获得?


5
在Oracle SQL中比较日期
我试图显示1994年6月20日之后的雇员人数,但是我收到一个错误消息,说“ JUN”无效,请帮忙,谢谢! Select employee_id, count(*) From Employee Where to_char(employee_date_hired, 'DD-MON-YY') > 31-DEC-95;
141 sql  oracle 

10
如何使用C#执行.SQL脚本文件
我确定这个问题已经回答了,但是我无法使用搜索工具找到答案。 使用C#,我想运行一个.sql文件。sql文件包含多个sql语句,其中一些语句分成多行。我尝试读取文件,并尝试使用ODP.NET执行文件...但是,我认为ExecuteNonQuery并非真正旨在执行此操作。 因此,我尝试通过产生一个进程来使用sqlplus ...但是,除非我在UseShellExecute设置为true的情况下产生该进程,否则sqlplus会挂起并且永远不会退出。这是不起作用的代码。 Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "sqlplus"; p.StartInfo.Arguments = string.Format("xx/xx@{0} @{1}", in_database, s); p.StartInfo.CreateNoWindow = true; bool started = p.Start(); p.WaitForExit(); WaitForExit永远不会返回...。除非将UseShellExecute设置为true。UseShellExecute的副作用是您无法捕获重定向的输出。
140 c#  sql  oracle  scripting 

14
使用Oracle SQL Developer更改密码
我的许多用户都不使用SQLPlus。我不能给他们更改用户。我们每60天使密码失效一次。 我无法在SQL Developer中使用SQLPlus命令“密码”。 当我点击运行时,我得到一个无效的命令错误 当我点击运行脚本时,什么也没有发生。 因为我们有很多数据库,所以我不想为他们写一个更改密码的软件包。我有更好的选择吗?

5
在Oracle SQL Developer中使用tnsnames.ora
我正在评估Oracle SQL Developer。 tnsnames.ora填充了My ,并且tnsping连接到中定义的连接tnsnames.ora正常。SQL Developer仍然不会显示任何连接。 Oracle SQL Developer Soars提到,如果 如果您已经在计算机上安装了Oracle客户端软件和一个tnsnames.ora文件,则Oracle SQL Developer将自动从tnsnames.ora中定义的网络服务名称填充Connections导航器。 我也尝试设置TNS_ADMIN环境变量,但是在重新启动SQL Developer之后,仍然没有显示连接。 有任何想法吗? 有人成功使用SQL Developer和tnsnames.ora吗?

3
使用Oracle选择进入
我正在尝试使用Oracle进行SELECT INTO。我的查询是: SELECT * INTO new_table FROM old_table; 但我收到以下错误: SQL Error: ORA-00905: missing keyword 00905. 00000 - "missing keyword" 有什么想法吗? 上面的标准行为应该是我最初的想法:但是Oracle在自己的SQL方言中对Oracle的实现完全不同 。
134 sql  oracle  ora-00905 

5
如何在Oracle中转义保留字?
在TSQL中,我可以使用类似于Select [table] from tablename选择名为“表”的列的方式。 我该如何在oracle中保留字呢? 编辑:我试过方括号,双引号,单引号和反引号,它们不起作用... 作为进一步的说明,我有一列名为“评论”的人。由于这是一个保留字,因此oracle会发抖,试图用它来选择,这在解析查询时失败了。我试过从表名中选择“注释”,但是没有用。我会检查情况再回来。

10
如何在同一Oracle SQL脚本中声明变量并使用它?
我想编写可重用的代码,并且需要在开始时声明一些变量,然后在脚本中重用它们,例如: DEFINE stupidvar = 'stupidvarcontent'; SELECT stupiddata FROM stupidtable WHERE stupidcolumn = &stupidvar; 如何声明变量并在随后的语句(如使用SQLDeveloper)中重用它。 尝试次数 使用DECLARE部分和插入下面的SELECT语句BEGIN和END;。使用来访问变量&stupidvar。 使用关键字DEFINE并访问变量。 使用关键字VARIABLE并访问变量。 但是我在尝试期间遇到各种错误(未绑定变量,语法错误,预期的SELECT INTO…)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.