Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread 2.04 breaking changes
Tue, Aug 24 2010 10:17 AMPermanent Link

Uli Becker

I just studied the breaking changes of 2.04:

<<
You must now use string expressions for column references in the SQL/PSM
cursor FETCH, INSERT, and UPDATE statements.
>>

Is it true that I have *not* to change normal sql-statements like:

sql.add('update mytable set myvalue = :FValue)?

Uli
Tue, Aug 24 2010 10:18 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Uli,

<< Is it true that I have *not* to change normal sql-statements like:

sql.add('update mytable set myvalue = :FValue)? >>

Correct, only SQL/PSM INSERT, UPDATE, and FETCH statements are affected, not
the normal DML INSERT and UPDATE statements.

--
Tim Young
Elevate Software
www.elevatesoft.com
Tue, Aug 24 2010 10:24 AMPermanent Link

Uli Becker

Tim,

> Correct, only SQL/PSM INSERT, UPDATE, and FETCH statements are affected,
> not the normal DML INSERT and UPDATE statements.

Ok, thanks. And scripts have to be changed as well? So this:

Execute Immediate 'Insert INTO TempPrivatLeistungen
(LeistungenID,PatientenID,ScheineID,OrderID,BehandlerID,Datum,Uhrzeit,Ziffer,
ZifferIndex,Begruendung,Faktor,Preis,Summe,Hoechstwert,Anzahl,BesondereKosten,Abgerechnet,
HoechstwertPreis,Abzug)

has to be changed to

Execute Immediate 'Insert INTO TempPrivatLeistungen
(''LeistungenID'',''PatientenID'',''ScheineID'',etc.?

Many quotes. Frown

Uli
Tue, Aug 24 2010 11:04 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Uli,

<< Ok, thanks. And scripts have to be changed as well? So this:

Execute Immediate 'Insert INTO TempPrivatLeistungen
(LeistungenID,PatientenID,ScheineID,OrderID,BehandlerID,Datum,Uhrzeit,Ziffer, ZifferIndex,Begruendung,Faktor,Preis,Summe,Hoechstwert,Anzahl,BesondereKosten,Abgerechnet, HoechstwertPreis,Abzug) has to be changed to Execute Immediate 'Insert INTO TempPrivatLeistungen (''LeistungenID'',''PatientenID'',''ScheineID'',etc.? >>No, only SQL/PSM INSERT, UPDATE, and FETCH statements that work againstSQL/PSM cursors need to be converted.   Anything that you execute in anEXECUTE IMMEDIATE statement or EXECUTE statement is a DML or DDL statement,and the changes don't apply to them.--Tim YoungElevate Softwarewww.elevatesoft.com
Tue, Aug 24 2010 11:41 AMPermanent Link

Uli Becker

Tim

> No, only SQL/PSM
> INSERT, UPDATE, and FETCH statements that work againstSQL/PSM cursors
> need to be converted.   Anything that you execute in anEXECUTE IMMEDIATE
> statement or EXECUTE statement is a DML or DDL statement,and the changes
> don't apply to them.

But you write:

<<
Routines that are created with 2.04 or higher, and non-persistent
routines such as scripts, will require the new syntax.
>>

That's why I asked.

Uli
Tue, Aug 24 2010 11:45 AMPermanent Link

Uli Becker

Tim ,

I think I understand now:

Exectue Immediate within a script *or* a procedure does not require the
new syntax, working with a cursor in both cases *does*, correct?

I hope, I won't mess that up.

Uli
Wed, Aug 25 2010 7:18 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Uli,

<< I think I understand now:

Exectue Immediate within a script *or* a procedure does not require the new
syntax, working with a cursor in both cases *does*, correct? >>

Yes.  The difference is: when I say "SQL/PSM", I mean these:

http://www.elevatesoft.com/manual?action=topics&id=edb2sql&section=sql_psm_statements

when I say "DML", I mean these:

http://www.elevatesoft.com/manual?action=topics&id=edb2sql&section=dml_statements

The two different categories of statements aren't interchangeable, although
you can prepare/execute DML statements from the PREPARE/EXECUTE/OPEN and
EXECUTE IMMEDIATE SQL/PSM statements.

--
Tim Young
Elevate Software
www.elevatesoft.com


Image