尽管Oracle是最早创建存储过程(PL/SQL)的公司之一,但Informix with(SPL)除了DB2之外,还有哪些RDBMS产品在1998年之后实现了SQL/PSM或其中的一个子集?.. 在下面的示例中,哪个RDBMS可以支持类似的过程?:

 CREATE OR REPLACE FUNCTION foo1(a integer)
RETURNS void AS $$
  CASE a
    WHEN 1, 3, 5, 7, 9 THEN
      PRINT a, 'is odd number';
    WHEN 2, 4, 6, 8, 10 THEN
      PRINT a. 'is odd number';
    ELSE
      PRINT a, 'isn't from range 1..10';
  END CASE;
$$ LANGUAGE plpgpsm;

最佳答案

只有DB2接近PSM,AFAIK。Sybase很早就有了Transact-SQL;微软借用了它。三匹黑马或许值得一试,分别是MySQL、PostgreSQL和Ingres。然而,我不记得当我看过他们的代码时,他们中的任何一个都接近PSM。
不过,Google搜索“mysql psm”后发现,mysql 5.x和PostgreSQL 8.2支持一种接近标准的psm。(对“ingres psm”的搜索显示,ingres中的psm是一种“部分排序合并”连接技术。)

09-28 07:00