Tag: oracle

使用JDBC从存储过程中获取Oracle表types

我想了解使用JDBC从Oracle存储过程/函数获取表数据的不同方法。 六种方式是以下几种: 过程返回模式级别的表types作为OUT参数 过程返回一个包级表types作为OUT参数 过程返回一个包级光标types作为OUT参数 函数返回一个模式级别的表types 函数返回一个包级表types 函数返回一个包级光标types 这里是PL / SQL中的一些例子: — schema-level table type CREATE TYPE t_type AS OBJECT (val VARCHAR(4)); CREATE TYPE t_table AS TABLE OF t_type; CREATE OR REPLACE PACKAGE t_package AS — package level table type TYPE t_table IS TABLE OF some_table%rowtype; — package level cursor type TYPE t_cursor IS REF […]

ORA-00904:无效的标识符

我尝试使用Oracle数据库编写以下内部连接查询: SELECT Employee.EMPLID as EmpID, Employee.FIRST_NAME AS Name, Team.DEPARTMENT_CODE AS TeamID, Team.Department_Name AS teamname FROM PS_TBL_EMPLOYEE_DETAILS Employee INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID 这给出了以下错误: INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID * ERROR at line 4: ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier 一个表的DDL是: CREATE TABLE "HRMS"."PS_TBL_DEPARTMENT_DETAILS" ( "Company Code" VARCHAR2(255), "Company Name" VARCHAR2(255), "Sector_Code" […]

SQL案例语句的语法?

什么是SQL Case语句的完整和正确的语法?

在检查约束中使用date,Oracle

我想检查添加以下约束,但Oracle返回下面显示的错误。 ALTER TABLE Table1 ADD (CONSTRAINT GT_Table1_CloseDate CHECK (CloseDate > SYSDATE), CONSTRAINT LT_Table1_CloseDate CHECK (CloseDate <= SYSDATE + 365)), CONSTRAINT GT_Table1_StartDate CHECK (StartDate > (CloseDate + (SYSDATE + 730)))); 错误: Error report: SQL Error: ORA-02436: date or system variable wrongly specified in CHECK constraint 02436. 00000 – "date or system variable wrongly specified in CHECK […]

hibernate oracle序列产生很大的差距

我使用的是hibernate 3,oracle 10g。 我有一张桌子:主题。 定义在这里 CREATE TABLE SUBJECT ( SUBJECT_ID NUMBER (10), FNAME VARCHAR2(30) not null, LNAME VARCHAR2(30) not null, EMAILADR VARCHAR2 (40), BIRTHDT DATE not null, constraint pk_sub primary key(subject_id) USING INDEX TABLESPACE data_index ) ; 当插入一个新的主题,sub_seq被用来创build一个主题ID,定义在这里 create sequence sub_seq MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 100 NOCYCLE ; […]

Oracle SELECT TOP 10logging

我在Oracle中有一个SQL语句的大问题。 我想selectSTORAGE_DBsorting的TOP 10logging,这些logging不在其他select语句的列表中。 这一个工作正常的所有logging: 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') 但是,当我join AND ROWNUM <= 10 ORDER BY STORAGE_GB DESC 我正在得到某种“随机”logging。 我觉得因为限制在订单之前。 有人有一个好的解决scheme? 另一个问题:这个查询是真的很慢(10K +logging)

在html电子邮件中embedded图像

我试图发送embedded式gif图像的多部分/相关的HTML电子邮件。 这封电子邮件是使用Oracle PL / SQL生成的。 我的尝试失败了,图像显示为红色X(在Outlook 2007和yahoo邮件中) 我一直在发送HTML邮件一段时间,但我的要求是现在在电子邮件中使用几个gif图像。 我可以将它们存储在我们的一个Web服务器上,并链接到它们,但是许多用户的电子邮件客户端不会自动显示,并且需要更改设置或手动下载每个电子邮件。 所以,我的想法是embedded图像。 我的问题是: 我在这里做错了什么? embedded方法是否正确? 任何其他选项,如果我需要使用越来越多的图像? 附件不起作用,因为图片通常是徽标和图标,在消息上下文中是没有意义的。 此外,电子邮件的一些元素链接到一个在线系统,所以生成一个静态的PDF和附加将无法正常工作(无论如何)。 片段: MIME-Version: 1.0 To: me@gmail.com BCC: me@yahoo.com From: email@yahoo.com Subject: Test Reply-To: email@yahoo.com Content-Type: multipart/related; boundary="a1b2c3d4e3f2g1" –a1b2c3d4e3f2g1 content-type: text/html; <html> <head><title>My title</title></head> <body> <div style="font-size:11pt;font-family:Calibri;"> <p><IMG SRC="cid:my_logo" alt="Logo"></p> … more html here … </div></body></html> –a1b2c3d4e3f2g1 Content-Type: image/gif; Content-ID:<my_logo> Content-Transfer-Encoding: […]

Oracle SQL – 如何检索列的最高5个值

如何编写一个查询,其中只有选定数量的行以最高或最低的列值返回。 即有5名最高工资雇员的报告?

SQL中的GROUP BY /聚合函数混淆

我需要一些帮助来理清一些东西,我知道这是一个非常简单的问题,但是这在SQL中会让我感到困惑。 此SQL查询在Oracle中引发“不是GROUP BYexpression式”错误。 我明白为什么,据我所知,一旦我通过元组的属性分组,我不能再访问任何其他属性。 SELECT * FROM order_details GROUP BY order_no 但是这个工作 SELECT SUM(order_price) FROM order_details GROUP BY order_no 只是为了具体了解我的理解。假设每个order_details中有多个元组,我一旦按照order_no对元组进行分组,我仍然可以访问组中每个元组的order_price属性,但只使用聚合函数? 换句话说,在SELECT子句中使用聚合函数时,能够深入到组中查看“隐藏”属性,只需使用“SELECT order_no”就会引发错误? 感谢您的帮助,澄清这一点,我很难在Google上find这个具体问题的答案。 克里斯

如何在Oracle中创build一个临时表

我想在Oracle数据库中创build一个临时表 就像是 Declare table @table (int id) 在SQL服务器 而不是用select语句填充它 可能吗? 谢谢