Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Re: Invalid SQL is executed: msg#00031

db.squirrel-sql.users

Subject: Re: Invalid SQL is executed

Hi Robert,

Thanks for your reply. The queries that were executed are:

update vessel_declarations set changed=0, response_status='ACC',
child_change=0, transmission_status='TRD' where id=4274;
update containers set changed=0, response_status='ACC' where
cuscar_id=4274;
update cni set changed=0, response_status='ACC' where cuscar_id=4274;
update gid set changed=0, link_change=0, response_status='ACC' where
cni_id in (select cni_id from cni where cuscar_id=4274);

I selected them all together and hit the Run SQL button. The auto commit
option was on.

I ran the below query that is used for the "in (...)" where clause of
the last update query.

select cni_id from cni where cuscar_id=4274

As expected it gives the error:

Error: java.sql.SQLException: ORA-00904: "CNI_ID": invalid identifier
, SQL State: 42000, Error Code: 904

So why did the last update query, update 89,867 rows? Can it be an issue
with the OCI driver of Oracle?

Kind regards,

Mark

-----Original Message-----
From: Robert Manning [mailto:robert.m.manning@xxxxxxxxx]
Sent: woensdag 21 maart 2007 22:53
To: Mark Noten
Cc: squirrel-sql-users@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [Squirrel-sql-users] Invalid SQL is executed

On 3/21/07, Mark Noten <mark.noten@xxxxxxxxxx> wrote:
> Hi all,
>
> When executing the below invalid SQL statement, all the 89,867 records
in the database were updated in stead of just a couple rows.
>
> update gid set changed=0, link_change=0, response_status='ACC' where
cni_id in (select cni_id from cni where cuscar_id=4274);
>
> 89,867 Row(s) Updated
> Query 4 of 4 elapsed time (seconds) - Total: 1,675.695, SQL query:
1,675.695, Building output: 0
>
> The cni_id column does not exist in the cni table. In stead of raising
an exception, the invalid SQL update statement was executed without the
where condition. Needless to say that updating 89,867 records with
production data did not receive a warm welcome. ;-)
>
> Can anyone explain me why this invalid query is executed in stead or
raising an error? I'm using Squirrel SQL Client Version 2.3 final with a
Oracle OCI Driver and oracle.jadbc.driver.OracleDriver from the
ojdbc14.jar.
>

I don't know of any issues in 2.3 that would produce this problem.
What do you get when you just execute:

select cni_id from cni where cuscar_id=4274;

Did you only highlight "update gid set changed=0, link_change=0,
response_status='ACC' " when you ran the query? Or, could it be that
there were two end-of-lines between the first part and the where
clause, like:

update gid set changed=0, link_change=0, response_status='ACC'

where cni_id in (select cni_id from cni where cuscar_id=4274);

If so and you had the cursor on just the the top line, I can see how
that would happen. The query tokenizer interprets "\n\n" as a
statement separator in addition to ";".

Rob

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
hardware.arm.at...    cms.citadel.dev...    video.gstreamer...    java.facelets.u...    misc.basics.qna...    web.wiki.instik...    network.uip.use...    xdg.devel/2003-...    tex.bibtex.bibd...    finance.quotesp...    ietf.zeroconf/2...    redhat.blinux.g...    suse.db2/2003-0...    php.phpesp/2004...    uml.devel/2003-...    gnome.labyrinth...    qnx.openqnx.dev...    boot-loaders.gr...    db.dataperfect....    audio.audacity....    linux.uclinux.m...    editors.j.devel...    os.openbsd.tech...    kde.users.multi...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation