SQL "dialect"
SQL "dialect"
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.
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.
-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53
SQL "dialect"
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.
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
Sometimes i use analytic functions in Oracle. In this case SQL for mySql DB stored separately.
Can TUniQuery store different SQL's?
Can TUniQuery store different SQL's?
-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53
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
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
-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53
Please take a look at our roadmap here http://devart.com/forums/viewtopic.php?t=13767