Page 1 of 1

SQL "dialect"

Posted: Mon 03 Mar 2008 21:30
by Guillermo
Hi,

Does TuniQuery will provide a common SQL or do I need to provide SQL specific for Oracle and for SQL Server as for example date arithmetic.

Guillermo Ortega A.

Posted: Thu 06 Mar 2008 06:53
by Challenger
No, TUniQuery does not currently provide such functionality. Please describe in more details your example.

SQL "dialect"

Posted: Fri 07 Mar 2008 02:12
by Guillermo
For example in Oracle:
SELECT ...., DATE_FIELD + num_days < SYSDATE

SQL Server
SELECT ....,DATEADD(day,num_days,DATE_FIELD) < GETDATE()

The question is:
Do I need to provide different SQL Statement depending on the backend? or you will provide a commom SQL.

Thanks.

Same problem

Posted: Sun 11 May 2008 15:38
by tnt9062
Sometimes i use analytic functions in Oracle. In this case SQL for mySql DB stored separately.
Can TUniQuery store different SQL's?

Posted: Mon 12 May 2008 09:26
by Challenger
Now UniDAC does not provide such functionality.

Posted: Wed 03 Dec 2008 12:29
by tnt9062
Hi,
unidac 2.0 have this function ?

Posted: Fri 05 Dec 2008 08:25
by burdian
This can be easy implement with macros:

SELECT ...,
&IF_ORA DATE_FIELD + num_days < SYSDATE &FI_ORA
&IF_SQL SELECT ....,DATEADD(day,num_days,DATE_FIELD) < GETDATE() &FI_SQL

On before open:

case (Query.Connection.ProviderName + ' ')[1] of
'O': // Oracle
begin
Query.Macros.MacroByName('IF_ORA').Value = '';
Query.Macros.MacroByName('FI_ORA').Value = '';
Query.Macros.MacroByName('IF_SQL').Value = '/*';
Query.Macros.MacroByName('FI_SQL').Value = '*/';
end
'S': // SQL Server
begin
Query.Macros.MacroByName('IF_SQL').Value = '';
Query.Macros.MacroByName('FI_SQL').Value = '';
Query.Macros.MacroByName('IF_ORA').Value = '/*';
Query.Macros.MacroByName('FI_ORA').Value = '*/';
end
end;

Best Regards
Branko

Posted: Mon 08 Dec 2008 16:31
by burdian
Typo (copy / paste), of course correct select sql above is:

SELECT ...,
&IF_ORA DATE_FIELD + num_days < SYSDATE &FI_ORA
&IF_SQL DATEADD(day,num_days,DATE_FIELD) < GETDATE() &FI_SQL
...

Branko

Posted: Tue 16 Dec 2008 08:35
by Plash
UniDAC 2.0 still does not have a feature to set different SQL depending on the server.

Posted: Mon 05 Jan 2009 09:24
by Challenger
Please take a look at our roadmap here http://devart.com/forums/viewtopic.php?t=13767