11
投票
1答案
33797 次观看

在Oracle中修改唯一约束

我需要更新Oracle数据库中的现有约束,以便在其中添加新列。 ALTER TABLE MY_PARTNER_DETAILS MODIFY CONSTRAINT UQ_MY_PARTNER_DETAILS UNIQUE(PARTNER_CODE,PGOOD_CODE,SITE_CODE,PARTNER_PLACEMENT,PARTNER_PARTICIPATION) 给出错误: Error at line 1 ORA-00933: SQL command not properly ended 这是什么问题?

0
投票
2答案
970 次观看

JDBC Oracle中的MaxPooledStatements设置

我不知道如何使用Oracle瘦JDBC驱动程序在Oracle中设置MaxPooledStatements。有人可以指出我正确的方向吗?

28
投票
5答案
36513 次观看

查找Oracle中的列是否有序列

我正在尝试确定是否从序列中填充了Oracle中的列。我对Oracle处理序列的印象是序列和列是单独的实体,需要手动插入下一个序列值,例如: insert into tbl1 values(someseq.nextval, 'test') 或将其放入表触发器中。这意味着判断是否从序列中填充了列是很重要的。那是对的吗?关于如何确定是否从序列中填充列的任何想法?

143
投票
15答案
359481 次观看

外键列表及其引用的表

我正在尝试查找一个查询,该查询将为我返回表及其引用的表和列的外键列表。我在那儿 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' 但是我仍然需要知道该键引用了...

20
投票
8答案
38029 次观看

Oracle PL / SQL-立即输出/控制台打印的提示

我有许多pl / sql过程,可能需要几分钟才能运行。在开发它们时,我添加了一些打印语句以帮助调试并提供一些反馈和进度指示器。最初,我在小型测试仪上运行这些程序,并且输出几乎是瞬时的。现在,我正在使用较大的测试集进行测试,该测试集需要花费几分钟才能运行,我发现不再适合打印到控制台,因为在过程结束之前不会打印任何内容。我习惯在不缓冲其输出并立即打印输出的环境中工作,并且添加简单的打印语句以进行简单的调试和诊断很常见。 在pl / sql中是否可以立即打印输出(未缓冲)?如果没有,人们建议采用什么替代方法以获得相似的结果?

3
投票
1答案
6245 次观看

使用Oracle序列时,Hibernate不会生成标识符

我有以下映射 @Entity @SequenceGenerator(name="sacpSequenceGenerator", sequenceName="SACP_SEQ") public class Sacp { private Integer id; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sacpSequenceGenerator") public Integer getId() { return this.id; } ...

1
投票
1答案
2112 次观看

具有列聚合的物化视图

这是我在此处中发布的问题的另一个刺探。请不要关闭重复项, 因为它朝着另一个方向前进。 我想用另一列的汇总自动更新数据库列。 涉及三个表: T_RIDER RIDER_ID TMP_PONYLIST ... T_RIDER_PONY RIDER_ID PONY_ID T_PONY PONY_ID PONY_NAME ... T_RIDER和T_PONY通过T_RIDER_PONY具有 n:m 关系。 T_RIDER和T_PONY还有更多列,但此处仅涉及TMP_PONYLIST和PONY_NAME。 TMP_PONYLIST是PONY_N...

4
投票
3答案
22061 次观看

从SQL Server导出表以导入到Oracle 10g

我正在尝试从SQL Server 2005导出一些表,然后创建这些表并将其填充到Oracle中。 我大约有10个表,从4列到25个不等。我没有使用任何约束/键,因此应该很简单。 首先,我生成了脚本以获取表结构,然后对其进行了修改以符合Oracle语法标准(即,将nvarchar更改为varchar2) 接下来,我使用创建了csv平面文件的SQL Server导出向导导出了数据。但是我的主要问题是我找不到强迫SQL Server用双引号括住列名的方法。我的一列中包含逗号,因此,除非找到SQL Server引用列名的方法,否则在导入时会遇到麻烦。 还有,我走的路很艰难,还是有更简单的...

2
投票
2答案
452 次观看

表->通过虚拟列的函数依赖关系不在all_dependencies中吗?

我有以下对象: CREATE FUNCTION CONSTFUNC RETURN INT DETERMINISTIC AS BEGIN RETURN 1; END; CREATE TABLE "FUNCTABLE" ( "ID" NUMBER(*,0) NOT NULL, "VIRT" NUMBER GENERATED ALWAYS AS ("CONSTFUNC"()) NULL ); 但是,functable => constfunc依赖关系未在all_或user_依赖关系中列出。在词典中我可以访问任何依赖信息吗?

5
投票
4答案
15649 次观看

Perl脚本中的SQL * Plus

我正在尝试使用 SQL * Plus 连接到表并获取 Perl 脚本中存储数据,并将输出存储在Perl变量中。 在shell脚本中,我会这样做: SQL_RESULT=`sqlplus -s ${CONNECT_STRING} << EOF ${SQLPLUS_SETTINGS} select foo||'|'||bar ||'|'|| xyz from temp where dfg='some'; exit; EOF` 但是我如何在Perl中做到这一点?

0
投票
2答案
27742 次观看

从Excel VBA使用ODBC连接到Oracle 10g

以下代码有效。连接打开正常,但是当表中有数据时,recordset.recordCount始终返回-1。如果我尝试在记录集上调用任何方法/属性,它会使Excel崩溃。有任何想法吗?? 谢谢 Sub GetData() Dim conn As New ADODB.connection Dim connString connString = "DSN=name;Uid=user;Pwd=pass" Dim rsRecords As New ADODB.recordSet conn.Open connString rsRecords...

3
投票
2答案
1992 次观看

如何在OCILogon2上设置超时?

当Oracle 10数据库正常运行时,OCILogon2()将立即连接。当由于网络问题而关闭数据库或无法访问数据库时,它将立即失败。 但是,当我们的DBA进行紧急维护并阻止进入的连接时,超时可能需要5到10分钟。 这对我来说是个问题,因为我发现OCILogin2不是线程安全的,我们只能串行使用它-而且我连接了很多Oracle数据库。3台阻塞的服务器X 5-10分钟=锁定时间15到30分钟 有人知道如何设置OCILogon2连接超时吗? 谢谢。

0
投票
3答案
127 次观看

更改存储过程

我有一个proc,可以打印支票,是否有要打印的新支票。如果没有要发行的新支票,它将不会打印任何支票。现在我想修改此过程,即使我没有要打印的任何新支票,它也应该至少提取一张要打印的支票。(即使已经打印过)。你能告诉我怎么做吗。这是存储的过程。 CREATE PROCEDURE [proc_1250_SELCashiersChecksForPrint] AS SELECT t_DATA_CashiersChecksIssued.ControlNbr, t_DATA_CashiersChecksIssued.Audit_DateAdded, t_DATA_Cashie...

2
投票
1答案
847 次观看

QSqlDatabase :: transaction和其他打开的事务,阻塞还是失败?

在数据库连接上使用QSqlDatabase::transaction()时,我正在通过Qt处理Sql Server和Oracle。当另一个用户/连接在同一数据库上打开了事务时,transaction()会阻塞直到另一个事务完成或失败?

1
投票
3答案
2020 次观看

IF中的多个Select语句

我可以使用一些帮助为报告编写prog./sql构造。 Sql首先应检查提示,然后决定应运行哪些“选择”语句 类似(伪代码) Select ACCT,LOC FROM ( IF :loc = 'MN' THEN Select acc as ACCT,location as LOC ELSE IF :loc = 'MA' THEN Select accid as ACCT,locid as LOC ELSE IF :loc = 'PA' THEN Select accountid as ACCT,location as LO...

3
投票
8答案
2354 次观看

我怎么知道oracle 9i中哪些值是数字

我有一个包含varchar的数据库。 我想知道哪些记录包含数值。我尝试了REGEXP_COUNT等,但我在9i上运行,我认为这是10g> 我该如何实现? 我尝试过: select to_number( my_column ) from my_table 但是它不起作用,因为并不是所有的数字都是数字。 编辑 背景。 此表包含员工ID,所有员工ID均为数字(读取1234或24523或6655) 在初始数据库加载中,当员工ID未知而不是使用诸如-1之类的东西时,他们输入了诸如以下的文本: NA, N/A, NONE, UNK, UNKNOW, TES...

0
投票
3答案
154 次观看

十六进制与十进制作为OracleCommand参数

我正在查看由我工作的前雇员编写的一些代码,我注意到他有时使用十六进制表示法,有时还会使用十进制表示法。由于他已经走了很久,所以我不能问他为什么,所以我希望这里的人可以看看并启发我。 command.Parameters.Add("PI_EMPLOYEE_NUM", OracleDbType.Varchar2, Trim(cn, 50), ParameterDirection.Input); command.Parameters.Add("PI_EMPLOYEE_DISPLAY_NM", OracleDbTy...

5
投票
4答案
3543 次观看

在sql中返回默认行

如果找不到行,则在oracle sql中是否可以返回默认行。 我有一个过程,其中将提取的行放入一个平面的ascii文件中。 现在我有一个要求,如果sql查询没有提取任何行,那么ascii文件中应该有一个默认行。 如果查询未获取任何行,则在sql中是否有可能输出默认行 注意:我不想使用pl / sql。

1
投票
3答案
249 次观看

变更表格的问题

我想创建触发器,将其插入某个表后将触发该用户。 在此触发器中,我想从表用户中选择一些记录,除了此记录外,我还插入到表中,但是随后收到有关更改表的错误。是否可以从该表中获取记录?

1
投票
2答案
2209 次观看

使用HibernateCritera API和Oracle进行动态查询-性能

我必须使用Hibernate并从Oracle检索数据,但是问题是传递给查询的参数数量并不总是相同。 为简单起见,我们考虑以下查询: 从TAB_1中选择COL_1,COL_2,...,COL_N,其中(?,?,...?)中的COL_1 传递给in子句的参数数量在1到500之间。如果数量约为1到50,则它的工作速度非常快,但是对于200来说,执行查询需要几秒钟的时间(解析,创建解释计划,执行查询)。创建并使用索引-已对其进行检查。 查询是动态创建的,因此我使用了Hibernate Criteria API。对于第一个查询(具有> 100个参数),它需要3-5秒,但是对于下一个...

-1
投票
3答案
221 次观看

如何在oracle中更新单个表?

我是oracle新手。我在oracle中创建了一个表,我想用不包含任何内容的所有列更新该表。我想要该表中的所有列。如何执行此操作?有人可以向我解释吗? 此致 拉曼

0
投票
2答案
2100 次观看

Oracle 10g-ORA-01747错误

我的程序: CREATE OR REPLACE PROCEDURE akcia_nepozicane_s_kurzorom (denny_poplatok IN NUMBER, kilometrovy_poplatok IN NUMBER) AS my_id_auto NUMBER(5); my_poplatok_denny NUMBER(4); my_poplatok_km NUMBER(2); CURSOR c1 IS SELECT id_auto, poplatok_denny, poplatok_km FROM...

3
投票
6答案
1876 次观看

Oracle的DBMS_ASSERT的Sql Server等效项是什么?

DBMS_ASSERT 是防止Oracle中SQL注入攻击的关键之一。我尝试过粗略的搜索...此功能是否有等效的SQL Server 2005/2008? 我正在寻找一种特定的实现,该实现具有DBMS_ASSERT的所有各个Oracle软件包成员的对等物。 NOOP SIMPLE_SQL_NAME QUALIFIED_SQL_NAME SCHEMA_NAME 我知道防止注入的最佳做法...绑定变量...是其中之一。 但是,在这个问题上,我特别希望在不使用绑定变量的情况下对输入进行清理。 您有任何具体的实现吗? 是否有一个实际上是Oracle软件包的SQL ...

11
投票
3答案
23794 次观看

在Oracle数据库上执行数据归档的最佳方法是什么?

我想找出归档不再需要的数据的最佳方法,以提高应用程序性能并节省磁盘空间。根据您的经验,实现此目标的最佳方法是什么,我可以使用哪种工具?为此,最好开发特定的内部应用程序?

13
投票
9答案
5143 次观看

使用Oracle进行数据库源代码控制

我一直在寻找可以将数据库检入到源代码管理中的方法。我的第一个想法是一个用于计算数据库差异的程序,并要求所有开发人员将其更改作为新的差异脚本来实施。现在,我发现如果可以将数据库转储到文件中,则可以将其检入并将其用作其他类型的文件。 主要条件是: 适用于Oracle 9R2的作品 人类可读,因此我们可以使用diff来查看差异。 (.dmp文件似乎不可读) 批处理中的所有表。我们有200多张桌子。 它同时存储结构和数据 它支持CLOB和RAW类型。 它存储过程,包及其主体,函数,表,视图,索引,约束,安全性和语法。 可以将其转换为可执行脚本,以将数据库重建为干净的计算机。 不限于很...

0
投票
2答案
431 次观看

甲骨文:长生了吗?

我正在用Java编写程序,需要在其中创建表的副本(无数据)。为此,我正在使用以下查询 CREATE TABLE NEW_TABLE AS SELECT * FROM OLD_TABLE 我遇到了一个表,其中一列的数据类型为 LONG RAW ,该表已被描述。 我尝试使用下面的查询,但是没有用。(ORA-01003:未解析任何语句 ) CREATE TABLE NEW_TABLE AS SELECT ID, COL1, COL2, TO_LOB(COL3) FROM OLD_TABLE 有人可以告诉我一个简单的查询吗?它应该能够存储上一张表中的值。我正在使用oracl...

10
投票
5答案
40688 次观看

PL / SQL-子句中的可选条件-没有动态SQL?

我有一个查询,其中并非所有条件都必要。这是使用所有条件时的外观示例: select num from (select distinct q.num from cqqv q where q.bcode = '1234567' --this is variable and q.lb = 'AXCT' --this is variable and q.type = 'privt' --this is variable and q.edate > sysdate - 30 --th...

1
投票
3答案
196 次观看

Oracle查询中的子选择

任何人都可以告诉我是否使用它对Oracle 10g有所帮助 SELECT col1 FROM myTable WHERE col2 = 'someval' AND col3 = "someotherval" 或 SELECT col1 FROM SELECT col1, col2, col3 FROM ( SELECT * FROM myTable ) WHERE col2 = 'someval' ) WHERE col3 = "someotherval" 根据解释计划,上述成本相同,但是在性能评估方面我是空白。 背景是:在我的应用程...

8
投票
2答案
30609 次观看

如何在SQL查询中使用Oracle关联数组

ODP.Net公开了将关联数组作为参数从C#传递到Oracle存储过程的能力。除非您试图在sql查询中使用该关联数组中包含的数据,否则它是一个很好的功能。 这样做的原因是它需要上下文切换-SQL语句需要SQL类型,并且像这样传递给PL / SQL的关联数组实际上定义为PL / SQL类型。我相信在PL / SQL包/过程/函数中定义的任何类型都是PL / SQL类型,而在这些对象之外创建的类型是SQL类型(如果您可以对此提供更多的说明,请这样做,但这不是目标问题)。 所以,问题是,将PL / SQL关联数组参数转换为可在该过程中用于sql语句的东西的方法是什么? OPEN re...

0
投票
1答案
245 次观看

在oracle 10g xe中对引用列设置唯一约束

我有以下情况。 表看起来像这样 CREATE TABLE CompetitionsLanguages ( competition REF CompetitionType SCOPE IS Competitions, language REF LanguageType SCOPE IS Languages ); 我需要此表对(竞争,语言)组合具有唯一约束。 oracle告诉我,我不能在引用其他表的列上放置UNIQUE或PK。 是否可以使用CHECK或某种TRIGGER避免唯一性?