标签: oracle10g

PL-SQL中的contains()如何工作?

在我的查询中使用contains()方法有很多不必要的结果.不要告诉我使用喜欢或其他东西.它是硬编码的,无法更改.

sql oracle plsql contains oracle10g

14
推荐指数
1
解决办法
9万
查看次数

Oracle Char类型和Hibernate

我有一个oracle表,其中包含几列的char(n)类型.我使用hibernate工具创建实体objets,并使用此工具在String中映射char类型.

但是当我部署我的应用程序时,我收到一个错误,因为Hibernate等待varchar2类型而不是char类型:

Wrong column type in ARBOR.CMF for column CHG_WHO. Found: char, expected: varchar2(30 char)
Run Code Online (Sandbox Code Playgroud)

我必须使用什么样的java类型来映射实体中的char(n)类型?

谢谢.

java hibernate oracle10g

14
推荐指数
2
解决办法
2万
查看次数

这是PL/SQL编译器中的错误吗?

在我们的SVN代码库中,我遇到了一个包规范 - 在删除几行之后 - 归结为

create or replace package tq84 as
    return varchar2(10);
end tq84;
/
Run Code Online (Sandbox Code Playgroud)

在我看来,这样的规范并没有多大意义,因此根本不应该编译.但也许,我没有看到明显的,所以:这真的是一个错误吗?

为了完整起见:

me @ xxx.yyy.zz > select * from v$version;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
Run Code Online (Sandbox Code Playgroud)

编辑:有人建议在上面给出的规范return中不是关键字而是(包 - )变量.然而,情况似乎并非如此,因为以下编译同样合适:

create or replace package tq84 as

    return varchar2(10);
    return number;
    return date;

end tq84;
/ …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle10g

14
推荐指数
1
解决办法
4565
查看次数

如何在Oracle表中插入/更新更大尺寸的数据?

我想插入字符长度超过10,000的大尺寸数据.我在每列中使用了CLOB数据类型.我无法插入/更新它在错误后显示的大数据:

ORA-01704: string literal too long
Run Code Online (Sandbox Code Playgroud)

我的代码

 insert into table1 value(1,'values>10000'); 
Run Code Online (Sandbox Code Playgroud)

oracle clob oracle10g

14
推荐指数
1
解决办法
3万
查看次数

如何计算SQL中的斜率

我在sql数据库中有一些数据,我想计算斜率.数据有这样的布局:

Date        |  Keyword  |  Score    
2012-01-10  |  ipad     |  0.12    
2012-01-11  |  ipad     |  0.17    
2012-01-12  |  ipad     |  0.24    
2012-01-10  |  taco     |  0.19    
2012-01-11  |  taco     |  0.34    
2012-01-12  |  taco     |  0.45    
Run Code Online (Sandbox Code Playgroud)

我想通过使用SQL创建一个新表来使最终输出看起来像这样:

Date        |  Keyword  |  Score |  Slope    
2012-01-10  |  ipad     |  0.12  |  0.06    
2012-01-11  |  ipad     |  0.17  |  0.06    
2012-01-12  |  ipad     |  0.24  |  0.06    
2012-01-10  |  taco     |  0.19  |  0.13    
2012-01-11  |  taco     |  0.34  |  0.13    
2012-01-12 …
Run Code Online (Sandbox Code Playgroud)

mysql sql oracle10g

14
推荐指数
1
解决办法
1万
查看次数

USER()和SYS_CONTEXT('USERENV','CURRENT_USER')有什么区别?

在Oracle数据库中,以下内容之间存在以下差异:

  • 用户()
  • sys_context('USERENV','CURRENT_USER')
  • sys_context('USERENV','SESSION_USER')

这些也可能是"当前用户"的相关值吗?

  • sys_context('USERENV','CURRENT_SCHEMA')
  • sys_context('USERENV','AUTHENTICATED_IDENTITY')

我特别感兴趣的是哪些可以更改,哪些可以更改它们,哪些不能更改值,哪些具有基于连接类型的不同值,以及哪些(始终)是用于登录到数据库.

在我的大多数测试中,值总是相同的.唯一的例外是运行以下内容以更改'CURRENT_SCHEMA'时:

alter session set current_schema=<SCHEMA>
Run Code Online (Sandbox Code Playgroud)

执行以下操作会导致错误:

alter session set current_user=<USER> --even as sys/system, which is good I suppose
Run Code Online (Sandbox Code Playgroud)

因此,所有这些都有某种安全/规则.但是,拥有SESSION_USER和CURRENT_USER背后一定有一些原因.我还假设user()可以是sys_context的快捷方式('USERENV','CURRENT_USER'),但我找不到有关此问题的文档.

oracle plsql oracle10g oracle11g

14
推荐指数
1
解决办法
4万
查看次数

使用Linq具有多个条件

我有一个类,表示定义的数据库上的表:

public class MyClass{
    public int MyClassId{get;set;}
    public string Name{get;set;} 
    public string LastNamw{get;set;}
    public DateTime From{get;set;}
    public DateTime To{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我想对oracle数据库运行一些搜索查询.

现在的问题是:

var list = context.MyClass
    .Where(x => x.From>= FromMyDate)
    .Where(x => x.To <= ToMyDate);


var list = context.MyClass
    .Where(x => x.From>= FromMyDate && x.To <= ToMyDate);
Run Code Online (Sandbox Code Playgroud)

在条件或一个条件中使用多行是否更好?为什么......拜托

据我所知,当我想搜索第一个条件的结果时,我使用多个where子句.

linq linq-to-entities oracle10g

14
推荐指数
2
解决办法
5万
查看次数

TransactionScope - 基础提供程序在EnlistTransaction上失败.MSDTC被中止

我们的团队遇到的问题表现为:

基础提供程序在EnlistTransaction上失败; 无法访问已处置的对象.对象名称:'Transaction'.

在此输入图像描述

一旦我们开始使用TransactionScope来处理我们的应用程序的事务,它似乎就出现了.

堆栈跟踪的顶部部分被捕获为:

在System.Data.EntityClient.EntityConnection.EnlistTransaction(事务事务)处于System.Data.Objects.ObjectContext.EnsureConnection(),位于Reconciliation.Models的System.Data.Objects.ObjectContext.ExecuteStoreCommand(String commandText,Object [] parameters).在EntityDbEnvironment.cs中的Reconciliation.Models.Legacy.EntityDbEnvironment.ExecuteOracleSql(String sql)中的BillLines.BillLines.Reconciliation.Interfaces.IBillLineEntities.ExecuteStoreCommand(String,Object []):第41行

同时更新MSDTC日志,我已使用此处说明进行了提取:

pid=7060       ;tid=7908       ;time=04/29/2013-16:38:30.269   ;seq=136        ;eventid=TRANSACTION_BEGUN                        ;tx_guid=60f6390c-7570-488a-97a9-2c3912c4ca3e     ;"TM Identifier='(null)                                            '" ;"transaction has begun, description :'<NULL>'"
pid=7060       ;tid=7908       ;time=04/29/2013-16:38:30.269   ;seq=137        ;eventid=RM_ENLISTED_IN_TRANSACTION               ;tx_guid=60f6390c-7570-488a-97a9-2c3912c4ca3e     ;"TM Identifier='(null)                                            '" ;"resource manager #1002 enlisted as transaction enlistment #1. RM guid = 'defc4277-47a6-4cd9-b092-93a668e2097b'"
pid=7060       ;tid=7908       ;time=04/29/2013-16:38:31.658   ;seq=138        ;eventid=RECEIVED_ABORT_REQUEST_FROM_BEGINNER     ;tx_guid=60f6390c-7570-488a-97a9-2c3912c4ca3e     ;"TM Identifier='(null)                                            '" ;"received request to abort the transaction from beginner"
pid=7060       ;tid=7908       ;time=04/29/2013-16:38:31.658   ;seq=139        ;eventid=TRANSACTION_ABORTING                     ;tx_guid=60f6390c-7570-488a-97a9-2c3912c4ca3e     ;"TM Identifier='(null)                                            '" ;"transaction …
Run Code Online (Sandbox Code Playgroud)

c# msdtc entity-framework transactionscope oracle10g

14
推荐指数
2
解决办法
1万
查看次数

仅从oracle sql中的给定时间戳提取日期

以下查询:

select cdate from rprt where cdate <= TO_CHAR(sysdate, 'YYYY/MM/DD-HH24-MI-SS-SSSSS') and ryg='R' and cnum='C002';
Run Code Online (Sandbox Code Playgroud)

return:2013/04/27-10:06:26:794存储在表中.

我想将日期仅作为:27-04-2013并获得结果tdate和sysdate之间的天数.

sql database-administration oracle10g

14
推荐指数
3
解决办法
16万
查看次数

将图像插入BLOB Oracle 10g

我试图将图像插入签名中的BLOB字段,然后我将从表中选择并在报表上呈现.我似乎无法想象如何将图像放入表格.我做了一个插入,但是当我渲染时,只有图像的路径显示在报告上,而不是图像本身.

CREATE TABLE esignatures (
  office   NUMBER(6,0)  NOT NULL,
  username VARCHAR2(10) NOT NULL,
  iblob    BLOB         NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

INSERT语句(SQL)

INSERT INTO esignatures  
VALUES (100, 'BOB', utl_raw.cast_to_raw('C:\pictures\image1.png'));
Run Code Online (Sandbox Code Playgroud)

我知道我确定以HEX值的形式插入String位置如何在表格中获取图像HEX值,因此当我渲染时我将看到正在显示的图像.

sql oracle blob oracle10g

14
推荐指数
2
解决办法
10万
查看次数