我想更新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_keywords用keyword_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)
你能帮我解决一下这个问题吗?
家伙.说我有下表:
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获得此结果的任何建议?
谢谢.
如何为其他字段的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
谁能告诉我使用哪个jdbc驱动程序连接oracle 9.0.1.1?
我正在使用jdk1.6.
我用classes12和ojdbc6,但他们所造成的错误.
以下是我的代码
以下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) 就像标题所说的那样.我在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)