Обсуждение: ANSI Standard

Поиск
Список
Период
Сортировка

ANSI Standard

От
"Pascal Tufenkji"
Дата:
<div class="Section1"><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana">Hi,</span></font><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana"> </span></font><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana">How do I know if a function (or a certain sql syntax) in Postgres is a SQL ANSI Standard, hence it
workson all databases such as MySQL, SQL Server, Oracle…</span></font><p class="MsoNormal"><font face="Verdana"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Verdana"> </span></font><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana">I noticed that concat, decode, nvl, instr are functions that work for some databases and don’t for
others.</span></font><pclass="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt; 
font-family:Verdana">I only want to use ANSI Standard functions that work everywhere.</span></font><p
class="MsoNormal"><fontface="Verdana" size="2"><span style="font-size:10.0pt; 
font-family:Verdana">How do I identify them?</span></font><p class="MsoNormal"><font face="Verdana" size="2"><span
style="font-size:10.0pt;
font-family:Verdana">How do I know if a function is specific to Postgres and don’t work for other
databases.</span></font><pclass="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt; 
font-family:Verdana"> </span></font><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana">Sorry, I may have asked the same question more than a time</span></font><p class="MsoNormal"><font
face="Verdana"size="2"><span style="font-size:10.0pt; 
font-family:Verdana">But I just wanted it to be clear</span></font><p class="MsoNormal"><font face="Verdana"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Verdana">I’d appreciate any reply to my question</span></font><p class="MsoNormal"><font face="Verdana"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Verdana">Thanks</span></font><p class="MsoNormal"><font face="Verdana" size="2"><span
style="font-size:10.0pt;
font-family:Verdana"> </span></font><p class="MsoNormal"><font face="Verdana" size="2"><span style="font-size:10.0pt;
font-family:Verdana">Pascal </span></font></div>

Re: ANSI Standard

От
"Richard Broersma"
Дата:
On Tue, Jun 24, 2008 at 7:33 AM, Pascal Tufenkji <ptufenkji@usj.edu.lb> wrote:

> How do I know if a function (or a certain sql syntax) in Postgres is a SQL
> ANSI Standard, hence it works on all databases such as MySQL, SQL Server,
> Oracle…


> I noticed that concat, decode, nvl, instr are functions that work for some
> databases and don't for others.
>
> I only want to use ANSI Standard functions that work everywhere.

Well the problem is that most database do not support that same full
set of ANSI features.  So if you design your schema with a wide range
of ansi features, certain ddl will probably not commit or at least
will be ignored on most databases.  We database brand has incorporated
a different set of features.

> How do I identify them?

This should get you started :
http://www.postgresql.org/docs/8.3/interactive/features.html

--
Regards,
Richard Broersma Jr.

Visit the Los Angles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug


Re: ANSI Standard

От
Steve Midgley
Дата:
At 02:20 AM 6/25/2008, pgsql-sql-owner@postgresql.org wrote:
>Date: Tue, 24 Jun 2008 17:33:11 +0300
>From: "Pascal Tufenkji" <ptufenkji@usj.edu.lb>
>To: <pgsql-sql@postgresql.org>
>Subject: ANSI Standard
>Message-ID: <000601c8d607$3acda550$150fa8c0@interne.usj.edu.lb>
>
>Hi,
>
>
>
>How do I know if a function (or a certain sql syntax) in Postgres is a 
>SQL
>ANSI Standard, hence it works on all databases such as MySQL, SQL 
>Server,
>Oracle.

In general, I find that the Pg docs pretty clear state what is ANSI 
standard and what isn't within Pg. You can also view the ANSI-92 
standard here:

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

In terms of making sure you're cross platform compatible, I'd say you 
have to designate a series of platforms (e.g. MySQL 5, Pg 8.3, Oracle 
X, MS SQL X, ext) which you will test against and explicitly support. 
You will find that no matter how tightly you attempt to build your 
platform against ANSI-92 (or any other std) if you do not regularly 
test against a set of platforms, your solution will converge on 
supporting only the platforms you do regular test against.

I hope that helps,

Steve



Re: ANSI Standard

От
Montaseri
Дата:
<br />- Try SQL 2003 standards....92 is way old<br />- You'll find that even the big boys like Oracle, DB2 etc will
divergefrom SQL standards if they make more $$ thier way...let alone toys like MySQL and MS-SQL<br /><br />Cheers<br />
Medi<br/><br /><div class="gmail_quote">On Thu, Jun 26, 2008 at 12:19 PM, Steve Midgley <<a
href="mailto:public@misuse.org">public@misuse.org</a>>wrote:<br /><blockquote class="gmail_quote"
style="border-left:1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> At 02:20 AM 6/25/2008,
<ahref="mailto:pgsql-sql-owner@postgresql.org" target="_blank">pgsql-sql-owner@postgresql.org</a> wrote:<br
/><blockquoteclass="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex;
padding-left:1ex;"> Date: Tue, 24 Jun 2008 17:33:11 +0300<br /> From: "Pascal Tufenkji" <<a
href="mailto:ptufenkji@usj.edu.lb"target="_blank">ptufenkji@usj.edu.lb</a>><br /> To: <<a
href="mailto:pgsql-sql@postgresql.org"target="_blank">pgsql-sql@postgresql.org</a>><br /> Subject: ANSI Standard<br
/>Message-ID: <000601c8d607$3acda550$<a href="mailto:150fa8c0@interne.usj.edu.lb"
target="_blank">150fa8c0@interne.usj.edu.lb</a>><br/><br /> Hi,<br /><br /><br /><br /> How do I know if a function
(ora certain sql syntax) in Postgres is a SQL<br /> ANSI Standard, hence it works on all databases such as MySQL, SQL
Server,<br/> Oracle.<br /></blockquote><br /> In general, I find that the Pg docs pretty clear state what is ANSI
standardand what isn't within Pg. You can also view the ANSI-92 standard here:<br /><br /><a
href="http://www.contrib.andrew.cmu.edu/%7Eshadow/sql/sql1992.txt"
target="_blank">http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt</a><br/><br /> In terms of making sure you're
crossplatform compatible, I'd say you have to designate a series of platforms (e.g. MySQL 5, Pg 8.3, Oracle X, MS SQL
X,ext) which you will test against and explicitly support. You will find that no matter how tightly you attempt to
buildyour platform against ANSI-92 (or any other std) if you do not regularly test against a set of platforms, your
solutionwill converge on supporting only the platforms you do regular test against.<br /><br /> I hope that helps,<br
/><br/> Steve<br /><font color="#888888"><br /><br /> -- <br /> Sent via pgsql-sql mailing list (<a
href="mailto:pgsql-sql@postgresql.org"target="_blank">pgsql-sql@postgresql.org</a>)<br /> To make changes to your
subscription:<br/><a href="http://www.postgresql.org/mailpref/pgsql-sql"
target="_blank">http://www.postgresql.org/mailpref/pgsql-sql</a><br/></font></blockquote></div><br />