What is wrong in this simple scritp? ORA-00936
Hi,
I created this simple script (for an Oracle 10g Express Application process) where I'm trying to copy one row from table EMPRESAS_ORGANISMOS to the table EMPRESAS_REVISADAS. Both tables have the same fields. ":P15_ID_EMP" is the text field that contains the ID of the row that I want to copy. I get the following errors:
ORA-06550: line 19, column 9: PL/SQL: ORA-00936: expression missing ORA-06550: line 3, column 1: PL/SQL: SQL Statement ignored
BEGIN
INSERT INTO EMPRESAS_REVISADAS
(ID,
ID_FUENTE,
COMPILADOR,
SECTOR_BURSATIL,
PAGINA,
DIRECCION,
CP,
AÑO_FUNDACION,
CAPITAL_NOMINAL,
CAPITAL_DESEMBOLSADO,
OBLIGACIONES,
IMPORTE_CUENTAS_PENDIENTES,
OBSERVACIONES,
APALANCAMIENTO,
NOMBRE,
NOMBRE_MUNICIPIO)
VALUES
SELECT "EMPRESAS_ORGANISMOS"."ID",
"EMPRESAS_ORGANISMOS"."ID_FUENTE",
"EMPRESAS_ORGANISMOS"."COMPILADOR",
"EMPRESAS_ORGANISMOS"."SECTOR_BURSATIL",
"EMPRESAS_ORGANISMOS"."PAGINA",
"EMPRESAS_ORGANISMOS"."DIRECCION",
"EMPRESAS_ORGANISMOS"."CP",
"EMPRESAS_ORGANISMOS"."AÑO_FUNDACION",
"EMPRESAS_ORGANISMOS"."CAPITAL_NOMINAL",
"EMPRESAS_ORGANISMOS"."CAPITAL_DESEMBOLSADO",
"EMPRESAS_ORGANISMOS"."OBLIGACIONES",
"EMPRESAS_ORGANISMOS"."IMPORTE_CUENTAS_PENDIENTES",
"EMPRESAS_ORGANISMOS"."OBSERVACIONES",
"EMPRESAS_ORGANISMOS"."APALANCAMIENTO",
"EMPRESAS_ORGANISMOS"."NOMBRE",
"EMPRESAS_ORGANISMOS"."NOMBRE_MUNICIPIO"
FROM "EMPRESAS_ORGANISMOS"
WHERE "EMPRESAS_ORGANISMOS"."ID" = :P15_ID_EMP;
END;
Thanks in advance.
Hello Tormentaseca,
Have you tried running the INSERT statement without it being enclosed in the BEGIN/END PL/SQL block ?
It might be a problem in the SQL statement.
HTH,
John.
Similar Messages
-
What's wrong with this sql? ORA-00936: Missing Expression?
SQL> insert into CHECK_LIST(
2 CHK_LST_ID,
3 CHK_LST_NAME,
4 CHK_LST_DESCR,
5 CHK_LST_REC,
6 CHK_LST_FIRST_RUN_DATE,
7 CHK_LST_START_TIME,
8 CHK_LST_DSTOP_TIME,
9 CHK_LST_DWEEK_DAYS_ONLY,
10 CHK_LST_DEVERY,
11 CHK_LST_RESP_TYPE,
12 CHK_LST_RESP_ID,
13 CHK_LST_WEVERY,
14 CHK_LST_WMON,
15 CHK_LST_WTUE,
16 CHK_LST_WWED,
17 CHK_LST_WTHU,
18 CHK_LST_WFRI,
19 CHK_LST_WSAT,
20 CHK_LST_WSUN,
21 CHK_LST_WLOCK_DAYS,
22 CHK_LST_MCHK_DAY_NUMBER,
23 CHK_LST_MDAY_NUMBER,
24 CHK_LST_MDAY_NUMBER_EVERY,
25 CHK_LST_MTHE,
26 CHK_LST_MTHE_DAY,
27 CHK_LST_MTHE_EVERY,
28 CHK_LST_MLOCK_DAYS,
29 CHK_LST_YCHK_EVERY,
30 CHK_LST_YEVERY,
31 CHK_LST_YMONTH_NUMBER,
32 CHK_LST_YTHE,
33 CHK_LST_YTHE_DAY,
34 CHK_LST_YTHE_DAY_MONTH_NUMBER,
35 CHK_LST_YLOCK_DAYS,CHK_LST_MANUAL_INIT
36 )
37 values(
38 1,
39 'Some name here',
40 'Some description here',
41 'd',
42 to_date('2004/01/01 00:00:00','yyyy/mm/dd hh24:mi:ss'),
43 to_date('1999/12/30 07:00:00','yyyy/mm/dd hh24:mi:ss'),
44 to_date('1999/12/30 18:00:00','yyyy/mm/dd hh24:mi:ss'),
45 'Y',
46 ,
47 2,
48 2,
49 ,
50 'N',
51 'N',
52 'N',
53 'N',
54 'N',
55 'N',
56 'N',
57 ,
58 'N',
59 ,
60 ,
61 ,
62 ,
63 ,
64 ,
65 'N',
66 ,
67 ,
68 ,
69 ,
70 ,
71 ,
72 'N'
73 );
to_date('1999/12/30 18:00:00','yyyy/mm/dd hh24:mi:ss'),
ERROR at line 44:
ORA-00936: missing expressionSQL> descr check_list
Name Null? Type
CHK_LST_ID NUMBER
CHK_LST_NAME VARCHAR2(255)
CHK_LST_DESCR CLOB
CHK_LST_REC VARCHAR2(255)
CHK_LST_FIRST_RUN_DATE DATE
CHK_LST_START_TIME DATE
CHK_LST_DSTOP_TIME DATE
CHK_LST_DWEEK_DAYS_ONLY VARCHAR2(1)
CHK_LST_DEVERY NUMBER
CHK_LST_RESP_TYPE NUMBER
CHK_LST_RESP_ID NUMBER
CHK_LST_WEVERY NUMBER
CHK_LST_WMON VARCHAR2(1)
CHK_LST_WTUE VARCHAR2(1)
CHK_LST_WWED VARCHAR2(1)
CHK_LST_WTHU VARCHAR2(1)
CHK_LST_WFRI VARCHAR2(1)
CHK_LST_WSAT VARCHAR2(1)
CHK_LST_WSUN VARCHAR2(1)
CHK_LST_WLOCK_DAYS NUMBER
CHK_LST_MCHK_DAY_NUMBER VARCHAR2(1)
CHK_LST_MDAY_NUMBER NUMBER
CHK_LST_MDAY_NUMBER_EVERY NUMBER
CHK_LST_MTHE NUMBER
CHK_LST_MTHE_DAY NUMBER
CHK_LST_MTHE_EVERY NUMBER
CHK_LST_MLOCK_DAYS NUMBER
CHK_LST_YCHK_EVERY VARCHAR2(1)
CHK_LST_YEVERY NUMBER
CHK_LST_YMONTH_NUMBER NUMBER
CHK_LST_YTHE NUMBER
CHK_LST_YTHE_DAY NUMBER
CHK_LST_YTHE_DAY_MONTH_NUMBER NUMBER
CHK_LST_YLOCK_DAYS NUMBER
CHK_LST_MANUAL_INIT VARCHAR2(1) -
What's wrong with this simple code?
What's wrong with this simple code? Complier points out that
1. a '{' is expected at line6;
2. Statement expected at the line which PI is declared;
3. Type expected at "System.out.println("Demostrating PI");"
However, I can't figure out them. Please help. Thanks.
Here is the code:
import java.util.*;
public class DebugTwo3
// This class demonstrates some math methods
public static void main(String args[])
public static final double PI = 3.14159;
double radius = 2.00;
double area;
double roundArea;
System.out.println("Demonstrating PI");
area = PI * radius * radius;
System.out.println("area is " + area);
roundArea = Math.round(area);
System.out.println("Rounded area is " + roundArea);Change your code to this:
import java.util.*;
public class DebugTwo3
public static final double PI = 3.14159;
public static void main(String args[])
double radius = 2.00;
double area;
double roundArea;
System.out.println("Demonstrating PI");
area = PI * radius * radius;
System.out.println("area is " + area);
roundArea = Math.round(area);
System.out.println("Rounded area is " + roundArea);
Klint -
What is wrong with this simple PL/SQL..
Hello,
I made a PL/SQL to recreate user (if user exits already, then drop/recreate)
I run this script and it won't drop the existed user as expected, what is wrong..?
run like:
$ sqlplus system/password@dbname @create_user.sql 'A1' --A1 is a user who already existed.
conn /as sysdba
SET FEEDBACK OFF SERVEROUTPUT ON VERIFY OFF TERMOUT OFF
DECLARE
v_count INTEGER := 0;
v_statement VARCHAR2 (200);
BEGIN
SELECT COUNT (1)
INTO v_count
FROM dba_users
WHERE username = UPPER ('&1');
IF v_count != 0
THEN
EXECUTE IMMEDIATE ('DROP USER &1 CASCADE');
END IF;
v_statement :=
'CREATE USER &1 IDENTIFIED BY &1'
|| ' DEFAULT TABLESPACE USER_DATA'
|| ' TEMPORARY TABLESPACE TEMPORARY_DATA'
|| ' PROFILE DEFAULT ACCOUNT UNLOCK';
EXECUTE IMMEDIATE (v_statement);
-- Grant permissions
EXECUTE IMMEDIATE ('GRANT READ_USER TO &1 WITH ADMIN OPTION');
EXECUTE IMMEDIATE ('ALTER USER &1 DEFAULT ROLE ALL');
EXECUTE IMMEDIATE ('GRANT CREATE PUBLIC SYNONYM TO &1');
EXECUTE IMMEDIATE ('GRANT CREATE DATABASE LINK TO &1');
EXECUTE IMMEDIATE ('GRANT CREATE SNAPSHOT TO &1');
EXECUTE IMMEDIATE ('GRANT CREATE TABLE TO &1');
EXECUTE IMMEDIATE ('GRANT DROP PUBLIC SYNONYM TO &1');
EXECUTE IMMEDIATE ('GRANT QUERY REWRITE TO &1');
EXECUTE IMMEDIATE ('GRANT RESTRICTED SESSION TO &1');
EXECUTE IMMEDIATE ('GRANT SELECT ANY DICTIONARY TO &1');
EXECUTE IMMEDIATE ('GRANT SELECT ANY TABLE TO &1');
EXECUTE IMMEDIATE ('GRANT UNLIMITED TABLESPACE TO &1');
EXECUTE IMMEDIATE ('GRANT SELECT ON SYS.CHANGE_TABLES TO &1');
EXECUTE IMMEDIATE ('GRANT SELECT ON SYS.DBA_SUBSCRIBED_TABLES TO &1');
EXECUTE IMMEDIATE ('GRANT SELECT ON SYS.DBA_SUBSCRIPTIONS TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_CDC_PUBLISH TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_CDC_SUBSCRIBE TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_CDC_UTILITY TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_LOCK TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_SYSTEM TO &1');
EXECUTE IMMEDIATE ('GRANT EXECUTE ON SYS.DBMS_UTILITY TO &1');
EXECUTE IMMEDIATE ('GRANT READ, WRITE ON DIRECTORY SYS.PUBLIC_ACCESS TO &1 WITH GRANT OPTION');
DBMS_OUTPUT.put_line (' ');
DBMS_OUTPUT.put_line ('User &1 created successfully');
DBMS_OUTPUT.put_line (' ');
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
DBMS_OUTPUT.put_line (' ');
END;
Exit;
EOF
Thank you
JerryHi,
I try to run this command in a shel scriptl, following this pl/sql excuting is a exp core shcema/imp to this user by using pipe.
(--this part is working well)
so I try to debug the pl/sql part first that is why I didn't use & or &&, which need to interactive with computer on scene, but this shell script will run automatically by scheduler.
this is the whole shell,
#!/bin/ksh
INPUT_DATABASE_SCHEMA=$1
OUTPUT_DATABASE_SCHEMA=$2
TARGET_DATABASE=$3
#drop/recreate user $2
sqlplus system/$3@$3 @create_user.sql '$2' ---this is also the question? how make it as real variable $2, not literal
#exp
mknod ./$1_exp p
gzip < $1_exp > ./$1_exp.dmp.gz &
exp \
rows=y \
userid=system/$3@$3 \
owner=$1 \
log=$1_exp.log \
file=$1_exp \
direct=y \
recordlength=65535 \
statistics=none \
consistent=y \
compress=n \
grep 'ORA-' $1_exp.log
if [ $? = 0 ]
then
mail -s "Problem in regression snapshort export" email < $1_exp.log
fi
#imp
mknod ./$1_exp p
gunzip < $1_exp.dmp.gz > $1_exp &
imp \
userid=system/$3@$3 \
file=$1_exp \
log=$2_IMP.log \
buffer=500000000 \
ignore=y \
commit=y \
fromuser=$1 \
touser=$2 \
feedback=100000 \
GRANTS=n \
grep 'ORA-' $2_IMP.log
if [ $? = 0 ]
then
mail -s "Erros found in regression snapshort import" email < $2_IMP.log
else
mail -s "regression snapshort is done sucessfully" email < $2_IMP.log
fi
#recompile invalid
sqlplus system/$3@$3 << EOF
conn /as sysdba
@?/rdbms/admin/utlrp.sql
Exit;
EOF
thank you in advance -
What's wrong with this simple method
i'm having compile troubles with this simple method, and i think it's got to be something in my syntax.
public String setTime()
String timeString = new String("The time is " + getHours() + ":" + getMinutes() + ":" + getSeconds() + " " + getIsAM());
return timeString;
this simple method calls the get methods for hours, minutes, seconds, and isAM. the compiler tells me i need another ) right before getSeconds(), but i don't believe it. i know this is a simple one, but i could use the advice.
thanks.Hi,
I was able to compile this method , it gave no error -
What is wrong with this simple CFIF statement?
Hi, I've included a simple cfif statment to check to see if a
user is already in the database, for some reaons the <cfelse>
part of the statement does not work. that is, if the user is there
it returns the recordcount and ID etc. but if it is a new user (no
records found) it is just blank (without the nothing doing !!!) any
ideas?
Thanks
YankeeBased strictly on the code you have shown, you do not need
the query="getuser" in your cfoutput tag.
Also, I would check to see if the value is greater than zero
rather than equal to one. What if the person has more than one
record in the database?
Try this...
<CFIF getuser.recordcount GT 0>
#GetUser.RecordCount# Records Found
<CFELSE>
Doing Nothing
</CFIF> -
What's wrong with this simple java file
I am learning java input methods. When I tried to compile the below simple java file, there were two errors.
import java.io.*;
public class MainClass {
public static void main(String[] args) {
Console console = System.console();
String user = console.readLine("user: ");
System.out.println(user);
}The compiler errors:
h:\java\MainClass.java:5: cannot resolve symbol
symbol : class Console
location: class MainClass
Console console = System.console();
^
h:\java\MainClass.java:5: cannot resolve symbol
symbol : method console ()
location: class java.lang.System
Console console = System.console();
^
2 errors
Could anyone take a look and shed some lights on this?I have changed to "import java.io.Console;" but this below errors:
h:\java\MainClass.java:1: cannot resolve symbol
symbol : class Console
location: package io
import java.io.Console;
^
h:\java\MainClass.java:5: cannot resolve symbol
symbol : class Console
location: class MainClass
Console console = System.console();
^
h:\java\MainClass.java:5: cannot resolve symbol
symbol : method console ()
location: class java.lang.System
Console console = System.console();
^
3 errors
----------- -
What is wrong with this simple query
Hi,
I am writting a simple code just to get the maximum no values from a database table
The query is
ResultSet = stm.executeQuery("SELECT MAX(column_name) FROM Database_table ");
it seems to be a simple one but i am getting the message
column not found
Please answer soonWell, it depends on how your resultset is retrieving the results. If you retrieve by column name, then that's your problem. You need to do something like this:
ResultSet = stm.executeQuery("SELECT MAX(column_name) AS myColumnName FROM Database_table ");
String myResult = ResultSet.getString(myColumnName);Using MAX, COUNT, etc, will return your result with a mangled or no actual column name to retrieve from. Optionally, you can solve your problem by:
ResultSet.getString(1);Michael Bishop -
What is wrong in this simple J2EE application?
Hello everyone,
I am an undergraduate studying J2EE and I don't understand why the JavaBean that I create in the servlet is not correctly passed to the JSP page (I am trying to create a very simple Model 2 application that gets authentication data from an html form and return a jsp page that says if the login is ok or not, access to database is simulated by an if statement).
In particular, the problem that I experience is that all values that I try to get from the JavaBean object in the JSP page are null instead of having the correct value that I set in the domain logic classes.
The war archive is available at http://www.webalice.it/m.soderi/ApplicazioneLogin.war
Can you give me a suggestion?
Many thanks,
Mirco Soderi.Hi,
In the login result page you are creating a new instamce of the bean
by calling
<jsp:useBean id="UserInformation" class="login.LoginBean" scope="request"/>
and using "UserInformation" in
<jsp:getProperty
you will always get null..
In your approch you have to use scriplets to print the informatiom required from the session attribute "User information"
dont declare a new bean using <jsp:useBean id="UserInformation"
if you want to set the values to the bean then use setproperty method -
What is wrong with this simple JSP code?
Whenever I run it on a browser it goes the SQL exception, but when I run it in a Java compiler it works fine.
Any help very much appreciated
<head>
<%@ page
import = "java.io.*"
import = "java.lang.*"
import = "java.sql.*"
%>
<title>
JSP Example 2
</title>
</head>
<body>
<h1>JSP Example 2</h1>
<%
try
// Load the driver class
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try
// Define the data source for the driver
String sourceURL = "jdbc:odbc:my_library";
// Create a connection through the DriverManager
Connection databaseConnection = DriverManager.getConnection(sourceURL,"","");
out.println("Here");
Statement statement = databaseConnection.createStatement();
ResultSet authorNames = statement.executeQuery("Select * from tblAvailable_Items");
catch (SQLException s)
out.println("SQL Error<br>");
catch (ClassNotFoundException err)
out.println("Class loading error");
%>
</body>
</html>Hi...
I have made some modifications to your code.. Try this. I assume, you would configured the system dsn as my_library, a table name "Table1" with one of the fields name as "name"
<head>
<%@ page import = "java.io.*,java.lang.*,java.sql.*" %>
<title>
JSP Example 2
</title>
</head>
<body>
<h1>JSP Example 2</h1>
<%
try
// Load the driver class
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try
// Define the data source for the driver
String sourceURL = "jdbc:odbc:my_library";
// Create a connection through the DriverManager
Connection databaseConnection = DriverManager.getConnection(sourceURL,"","");
out.println("Here");
Statement statement = databaseConnection.createStatement();
String sql = "select * from Table1";
ResultSet authorNames = statement.executeQuery(sql);
while (authorNames.next()){
String Name = authorNames.getString("name");
out.println(Name);
catch (SQLException s)
out.println("SQL Error<br>");
catch (ClassNotFoundException err)
out.println("Class loading error");
%>
</body>
</html>
Regds
Vasi -
What is wrong with this simple for loop?
long number = 12345678;
for(int i=1;i<=numberOfDigits;i++)
int i = number/(i);
System.out.println(i);
Basically, I want to take to assign int 1 = , int 2 = , int 3 = up until the number of digits.
I still have to manipulate it, so the code makes no sesne, but how would I do that?
So, i want to assign ints up until 8 but the manipulation I have also involves i up until the number of digits.
Yhank you.Fredddir_Java wrote:
I see that, but I just wanted to declare 8 ints (in this example, number of digits is 8) using a for loop, so I wanted to use the loop to assign these values one at a time. You know...but don't declare a variable with the same name as the loop variable. That just won't compile. Use an array as mentioned above.
How would you do that?If you are trying to find the digit at a certain point in your number, probably the easiest way is to translate the number to a Stirng and use String methods (if allowed) such as charAt(...). If not, then look at the mod operator "%" and at integer division.
Can anyone provide a basic loop for this task?Best not to ask for a code solution to homework here. We'll tolerate specific questions but not requests for code. -
What is wrong with this simple getText
Alright, all im trying to do now is to have the user enter in a c d or f for their seat. If they do and everything else is correct, it should place an X in the array. However, even if i do a c d or f, it still goes to the else clause and never performs the intended if structure. I tried with integers and it worked fine, but our prof
insists we use letters. Please help
public void actionPerformed (ActionEvent actionEvent) {
int RowNumber = 0, Section = 0;
String Seat = "a"; <------------------------------------------declare seat as a string initiated as "a"
if (actionEvent.getSource() == btnClear){
txtSeat.setText("");
txtSection.setText("");
txtRow.setText("");
if (actionEvent.getSource() == btnReserve){
try{
Section = Integer.parseInt(txtSection.getText());
RowNumber = Integer.parseInt(txtRow.getText());
Seat = (txtSeat.getText());<--------------------------------------get the text from txtSeat and put in Seat
catch(Exception exception){
JOptionPane.showMessageDialog(null, " Please enter a valid input in each box.");
if(Section == 1){
if(RowNumber >= 1 && RowNumber <= 3){
if(Seat == "a" || Seat == "c" || Seat == "d" || Seat == "f"){<--------------Skips this even if its acd or f
if(Business[(RowNumber-1)][0] == '0'){
Business[(RowNumber-1)][0] = 'X';
JOptionPane.showMessageDialog(null, "Seat has been Reserved.");
displayChart();
else JOptionPane.showMessageDialog(null, "Seat is already Reserved.");
else
{ JOptionPane.showMessageDialog(null, "Please enter a seat A, C, D, or F" + <---------goes here
" for Business class.");1) When posting code use the [url http://forum.java.sun.com/features.jsp#Formatting]Formatting Tags so the code is readable.
2) if(Seat == "a" || Seat == "c" || Seat == "d" || Seat == "f")
You don't use "==" when comparing equality of two Objects you use the equals(...) method.
if (seat.equals("a") ....
The "==" operator is only used when comparing primitive data types (int, char, long...)
3) Variable names should not start with an upper case character. Normally class names would start with an upper case character (look at all the classes in the API). -
I can't figure out what's wrong with this code
First i want this program to allow me to enter a number with the EasyReader class and depending on the number entered it will show that specific line of this peom:
One two buckle your shoe
Three four shut the door
Five six pick up sticks
Seven eight lay them straight
Nine ten this is the end.
The error message i got was an illegal start of expression. I can't figure out why it is giving me this error because i have if (n = 1) || (n = 2) statements. My code is:
public class PoemSeventeen
public static void main(String[] args)
EasyReader console = new EasyReader();
System.out.println("Enter a number for the poem (0 to quit): ");
int n = console.readInt();
if (n = 1) || (n = 2)
System.out.println("One, two, buckle your shoe");
else if (n = 3) || (n = 4)
System.out.println("Three, four, shut the door");
else if (n = 5) || (n = 6)
System.out.println("Five, six, pick up sticks");
else if (n = 7) || (n = 8)
System.out.println("Seven, eight, lay them straight");
else if (n = 9) || (n = 10)
System.out.println("Nine, ten, this is the end");
else if (n = 0)
System.out.println("You may exit now");
else
System.out.println("Put in a number between 0 and 10");
I messed around with a few other thing because i had some weird errors before but now i have narrowed it down to just this 1 error.
The EasyReader class code:
// package com.skylit.io;
import java.io.*;
* @author Gary Litvin
* @version 1.2, 5/30/02
* Written as part of
* <i>Java Methods: An Introduction to Object-Oriented Programming</i>
* (Skylight Publishing 2001, ISBN 0-9654853-7-4)
* and
* <i>Java Methods AB: Data Structures</i>
* (Skylight Publishing 2003, ISBN 0-9654853-1-5)
* EasyReader provides simple methods for reading the console and
* for opening and reading text files. All exceptions are handled
* inside the class and are hidden from the user.
* <xmp>
* Example:
* =======
* EasyReader console = new EasyReader();
* System.out.print("Enter input file name: ");
* String fileName = console.readLine();
* EasyReader inFile = new EasyReader(fileName);
* if (inFile.bad())
* System.err.println("Can't open " + fileName);
* System.exit(1);
* String firstLine = inFile.readLine();
* if (!inFile.eof()) // or: if (firstLine != null)
* System.out.println("The first line is : " + firstLine);
* System.out.print("Enter the maximum number of integers to read: ");
* int maxCount = console.readInt();
* int k, count = 0;
* while (count < maxCount && !inFile.eof())
* k = inFile.readInt();
* if (!inFile.eof())
* // process or store this number
* count++;
* inFile.close(); // optional
* System.out.println(count + " numbers read");
* </xmp>
public class EasyReader
protected String myFileName;
protected BufferedReader myInFile;
protected int myErrorFlags = 0;
protected static final int OPENERROR = 0x0001;
protected static final int CLOSEERROR = 0x0002;
protected static final int READERROR = 0x0004;
protected static final int EOF = 0x0100;
* Constructor. Prepares console (System.in) for reading
public EasyReader()
myFileName = null;
myErrorFlags = 0;
myInFile = new BufferedReader(
new InputStreamReader(System.in), 128);
* Constructor. opens a file for reading
* @param fileName the name or pathname of the file
public EasyReader(String fileName)
myFileName = fileName;
myErrorFlags = 0;
try
myInFile = new BufferedReader(new FileReader(fileName), 1024);
catch (FileNotFoundException e)
myErrorFlags |= OPENERROR;
myFileName = null;
* Closes the file
public void close()
if (myFileName == null)
return;
try
myInFile.close();
catch (IOException e)
System.err.println("Error closing " + myFileName + "\n");
myErrorFlags |= CLOSEERROR;
* Checks the status of the file
* @return true if en error occurred opening or reading the file,
* false otherwise
public boolean bad()
return myErrorFlags != 0;
* Checks the EOF status of the file
* @return true if EOF was encountered in the previous read
* operation, false otherwise
public boolean eof()
return (myErrorFlags & EOF) != 0;
private boolean ready() throws IOException
return myFileName == null || myInFile.ready();
* Reads the next character from a file (any character including
* a space or a newline character).
* @return character read or <code>null</code> character
* (Unicode 0) if trying to read beyond the EOF
public char readChar()
char ch = '\u0000';
try
if (ready())
ch = (char)myInFile.read();
catch (IOException e)
if (myFileName != null)
System.err.println("Error reading " + myFileName + "\n");
myErrorFlags |= READERROR;
if (ch == '\u0000')
myErrorFlags |= EOF;
return ch;
* Reads from the current position in the file up to and including
* the next newline character. The newline character is thrown away
* @return the read string (excluding the newline character) or
* null if trying to read beyond the EOF
public String readLine()
String s = null;
try
s = myInFile.readLine();
catch (IOException e)
if (myFileName != null)
System.err.println("Error reading " + myFileName + "\n");
myErrorFlags |= READERROR;
if (s == null)
myErrorFlags |= EOF;
return s;
* Skips whitespace and reads the next word (a string of consecutive
* non-whitespace characters (up to but excluding the next space,
* newline, etc.)
* @return the read string or null if trying to read beyond the EOF
public String readWord()
StringBuffer buffer = new StringBuffer(128);
char ch = ' ';
int count = 0;
String s = null;
try
while (ready() && Character.isWhitespace(ch))
ch = (char)myInFile.read();
while (ready() && !Character.isWhitespace(ch))
count++;
buffer.append(ch);
myInFile.mark(1);
ch = (char)myInFile.read();
if (count > 0)
myInFile.reset();
s = buffer.toString();
else
myErrorFlags |= EOF;
catch (IOException e)
if (myFileName != null)
System.err.println("Error reading " + myFileName + "\n");
myErrorFlags |= READERROR;
return s;
* Reads the next integer (without validating its format)
* @return the integer read or 0 if trying to read beyond the EOF
public int readInt()
String s = readWord();
if (s != null)
return Integer.parseInt(s);
else
return 0;
* Reads the next double (without validating its format)
* @return the number read or 0 if trying to read beyond the EOF
public double readDouble()
String s = readWord();
if (s != null)
return Double.parseDouble(s);
// in Java 1, use: return Double.valueOf(s).doubleValue();
else
return 0.0;
Can anybody please tell me what's wrong with this code? ThanksString[] message = {
"One, two, buckle your shoe",
"One, two, buckle your shoe",
"Three, four, shut the door",
"Three, four, shut the door",
"Five, six, pick up sticks",
"Five, six, pick up sticks",
"Seven, eight, lay them straight",
"Seven, eight, lay them straight",
"Nine, ten, this is the end",
"Nine, ten, this is the end"
if(n>0)
System.out.println(message[n]);
else
System.exit(0); -
What's wrong with this function
What's wrong with this Function(PL/SQL) in this formaula column definition in Reports 6i
function currdateFormula return Date is
curr_date date;
begin
select to_char(sysdate, 'DD-MM-YYYY') into curr_date from dual;
return(curr_date);
end;
I get the following error in compiling
REP-1401. 'currdateformula'.Fatal PL/SQL error occured. ORA-01843 not a valid month.
The SQL select to_char(sysdate, 'DD-MM-YYYY') from dual; worked well in SQL Plus prompt.
I got a clean compile when i use just sysdate in the function (see below).
function currdateFormula return Date is
curr_date date;
begin
select sysdate into curr_date from dual;
return(curr_date);
end;
Appreciate your help
Raja Lakshmihello,
what you are trying to do :
fetch the current date and return it as the result of the formula-column.
what you are actually doing :
fetch the current date, convert it to text, assign this text to a date-variable which causes an implicit type-conversion.
in your case you create a date-string with the format dd-mm-yyyy. the implicit conversion then tries to convert this string back to date using the NLS settings of your session. depending on your NLS_LANG and NLS_DATE_FORMAT this might work, if your session-date-format is dd-mm-yyyy which obviously it is NOT as you get the error.
what you should do :
select sysdate into curr_date from dual;
this fetches the sysdate and stores it in your date-variable. there is no type conversion needed what so ever.
regards,
the oracle reports team -
What's wrong with this SQL?
what's wrong with this SQL?
Posted: Jan 16, 2007 9:35 AM Reply
Hi, everyone:
when I insert into table, i use the fellowing SQL:
INSERT INTO xhealthcall_script_data
(XHC_CALL_ENDED, XHC_SWITCH_PORT, XHC_SCRIPT_ID, XHC_FAX_SPECIFIED)
VALUES (SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT, HH_SCRIPT,'N'
FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE' UNION
SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT, HH_SCRIPT,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE');
I always got an error like;
VALUES (SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT,
ERROR at line 3:
ORA-00936: missing expression
but I can't find anything wrong, who can tell me why?
thank you so much in advance
mpowel01
Posts: 1,516
Registered: 12/7/98
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 9:38 AM in response to: jerrygreat Reply
For starters, an insert select does not have a values clause.
HTH -- Mark D Powell --
PP
Posts: 41
From: q
Registered: 8/10/06
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 9:48 AM in response to: mpowel01 Reply
Even I see "missing VALUES" as the only error
Eric H
Posts: 2,822
Registered: 10/15/98
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 9:54 AM in response to: jerrygreat Reply
...and why are you doing a UNION on the exact same two queries?
(SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS') ,HH_SWITCHPORT ,HH_SCRIPT ,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE' UNION SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS') ,HH_SWITCHPORT ,HH_SCRIPT ,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE');
jerrygreat
Posts: 8
Registered: 1/3/07
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 9:55 AM in response to: mpowel01 Reply
Hi,
thank you for your answer, but the problem is, if I deleted "values" as you pointed out, and then execute it again, I got error like "ERROR at line 3:
ORA-03113: end-of-file on communication channel", and I was then disconnected with server, I have to relogin SQLplus, and do everything from beganing.
so what 's wrong caused disconnection, I can't find any triggers related. it is so wired?
I wonder if anyone can help me about this.
thank you very much
jerry
yingkuan
Posts: 1,801
From: San Jose, CA
Registered: 10/8/98
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 9:59 AM in response to: jerrygreat Reply
Dup Post
jerrygreat
Posts: 8
Registered: 1/3/07
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 10:00 AM in response to: Eric H Reply
Hi,
acturlly what I do is debugging a previous developer's scipt for data loading, this script was called by Cron work, but it never can be successfully executed.
I think he use union for eliminating duplications of rows, I just guess.
thank you
jerry
mpowel01
Posts: 1,516
Registered: 12/7/98
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 10:03 AM in response to: yingkuan Reply
Scratch the VALUES keyword then make sure that the select list matches the column list in number and type.
1 insert into marktest
2 (fld1, fld2, fld3, fld4, fld5)
3* select * from marktest
UT1 > /
16 rows created.
HTH -- Mark D Powell --
Jagan
Posts: 41
From: Hyderabad
Registered: 7/21/06
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 10:07 AM in response to: jerrygreat Reply
try this - just paste the code and give me the error- i mean past the entire error as it is if error occurs
INSERT INTO xhealthcall_script_data
(xhc_call_ended, xhc_switch_port, xhc_script_id,
xhc_fax_specified)
SELECT TO_DATE (hh_end_date || ' ' || hh_end_time, 'MM/DD/YY HH24:MI:SS'),
hh_switchport, hh_script, 'N'
FROM tmp_healthhit_load
WHERE hh_script != 'BROCHURE'
UNION
SELECT TO_DATE (hh_end_date || ' ' || hh_end_time, 'MM/DD/YY HH24:MI:SS'),
hh_switchport, hh_script, 'N'
FROM tmp_healthhit_load
WHERE hh_script != 'BROCHURE';
Regards
Jagan
jerrygreat
Posts: 8
Registered: 1/3/07
Re: what's wrong with this SQL?
Posted: Jan 16, 2007 11:31 AM in response to: Jagan Reply
Hi, Jagan:
thank you very much for your answer.
but when I execute it, I still can get error like:
ERROR at line 1:
ORA-03113: end-of-file on communication channel
so wired, do you have any ideas?
thank you very muchAnd this one,
Aother question about SQL?
I thought I already told him to deal with
ORA-03113: end-of-file on communication channel
problem first.
There's nothing wrong (syntax wise) with the query. (of course when no "value" in the insert)
Maybe you are looking for
-
User did an append when doing a backup of SQL now trying to do a restore
User did a backup of SQL doing an append now getting the message: The media set has 2 media families..... The directory of the first media set was copied to an external drive. The system was then wiped to load Win7 what can be done to restore the fi
-
After iOS8 update my iphone 5 doesn't connect the wifi properly and battery dies instantly
Hi, I have upgraded my iphone 5 to iOS 8 and after that the full 100% battery discharges instantly even if I do not use any apps.I have to charge it every 2 hours. I do not know what to do now it became unreliable. Second issue is that I cannot conne
-
No CD and no USB :)
Hi I installed Xubuntu a long time ago, and it doesnt boot up so I want to install arch linux because when I used it before it never had issues booting up. My PC doesnt seem to give the option of booting from a USB stick on the BIOS screen, and I tri
-
How to check module abbreviations and whether they are installed or not ?
Hi All - There was a question raised , that is self service parts planning module available/installed/registered in our current EBS or not ? How to check whether self service parts planning module is installed or available or not ? Also i would like
-
Today, my Verizon DSL downloaded "VZ In-Home Agent," which seems to be a new help and support program. It stated it need to install .Net Framework 2.0, so I clicked on the link and saved it to my desktop. However, when it tried to install, I got the