标签: oracle9i

Oracle更新过程问题

我想更新Oracle表中的以下过程,但它抛出错误:

CREATE OR REPLACE PROCEDURE update_keywords (aKEYWORD IN VARCHAR2, aCOUNT IN NUMBER)
AS BEGIN
   update searchable_keywords  
   set KEYWORD =:new.aKEYWORD or COUNT =:new.aCOUNT 
   where KEUWORD_ID = : old.KEYWORD_ID;
  END;
Run Code Online (Sandbox Code Playgroud)

这是我的程序.我想searchable_keywordskeyword_id(主键)更新表中的关键字和计数,但它抛出错误如下:

LINE/COL ERROR
-------- -----------------------------------------------------------------
3/4      PL/SQL: SQL Statement ignored
4/17     PLS-00049: bad bind variable 'NEW.AKEYWORD'
4/31     PL/SQL: ORA-00933: SQL command not properly ended
4/41     PLS-00049: bad bind variable 'NEW.ACOUNT'
Run Code Online (Sandbox Code Playgroud)

你能帮我解决一下这个问题吗?

oracle oracle10g oracle9i oracle11g ora-00933

0
推荐指数
1
解决办法
613
查看次数

使用oracle SQL将字符串解析为表

家伙.说我有下表:

ID | String
---+---------  
1  | <123><345>  
2  | <1-2><45-67>  
3  | <345-321><234>
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序中的遗留数据格式,目前无法避免.我需要做的是:

ID | String
---+---------
1  | <123>  
1  | <345>  
2  | <1-2>  
2  | <45-67>  
3  | <345-321>  
3  | <234>  
Run Code Online (Sandbox Code Playgroud)

有关如何在不创建任何其他对象或pl-sql过程的情况下仅使用普通Oracle SQL获得此结果的任何建议?

谢谢.

sql oracle plsql oracle9i

0
推荐指数
1
解决办法
3924
查看次数

从一个结果集中的多个表中选择count(*)

如何为其他字段的30个表选择count(*).

我想应用时间约束等限制.我有一个表statemaster,dealermaster,businessdetail.

我想要各自的结果statecode,statename.

我想输出像: -

statecode statename count(*) for dealermaster count(*) for business details
01        ca         25                        20
01        au         30                        35

statecode,来自statemaster表的statename

sql oracle oracle9i

0
推荐指数
1
解决办法
863
查看次数

很少有Jdbc问题

谁能告诉我使用哪个jdbc驱动程序连接oracle 9.0.1.1?

我正在使用jdk1.6.

我用classes12ojdbc6,但他们所造成的错误.

以下是我的代码

以下bean的数据库相关代码在简单的Java应用程序中工作,但是当我在JSF页面中使用它时,它给出了Java空指针异常错误.提前致谢.

Bean类:

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
@ManagedBean
@SessionScoped     

public class Db implements Serializable{
    int eId;
    public int geteId() {
        return eId;
    }
    public void seteId(int eId) {
        this.eId = eId;
    }
    public static Connection getConnection() throws Exception {
        String driver = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@localhost:1521:globldb3";
        String username = "scott";
        String password = "tiger";
        Class.forName(driver);
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn; …
Run Code Online (Sandbox Code Playgroud)

java jdbc oracle9i

0
推荐指数
1
解决办法
2757
查看次数

COUNT(*)= 0的计算结果为真?

就像标题所说的那样.我在if语句中有一个SQL语句(Oracle 9),其值为true.从我记得这样的声明将做SQL Server的预期.在这种情况下我做错了什么?

IF (SELECT COUNT(*) FROM CUSTOMER_LIST WHERE CUSTOMER='Target')=0 THEN  
INSERT INTO CUSTOMER_LIST (CUSTOMER_ID, CUSTOMER) VALUES
(CUSTOMER_ID_SEQ.nextval, 'Target')
Run Code Online (Sandbox Code Playgroud)

或者更好的是,确保我不插入已存在的数据的适当策略是什么.写入的代码总是插入.这显然不是我想要的,因为这一行已经存在.

当此代码运行时,我收到以下控制台消息.

Error starting at line 1 in command:
IF (SELECT COUNT(*) FROM CUSTOMER_LIST WHERE CUSTOMER='Target')=0 THEN
Error report:
Unknown Command
1 rows inserted.
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle9i

0
推荐指数
1
解决办法
862
查看次数

标签 统计

oracle9i ×5

oracle ×4

sql ×3

java ×1

jdbc ×1

ora-00933 ×1

oracle10g ×1

oracle11g ×1

plsql ×1