for循环的部分改成如下:
--从两表中name列中最短的字段开始递减循环FOR I IN REVERSE 0..LEAST(LENGTH(C_A.ANAME),LENGTH(C_B.BNAME)) LOOP
--如果存在第一个相等的值,则写入C表并退出,进行下一次比较
IF SUBSTR(C_A.ANAME,0,I) = SUBSTR(C_B.BNAME,0,I) THEN
INSERT INTO C VALUES (C_A.ANO,C_A.ANAME,C_B.BNO,C_B.BNAME,I)
COMMIT
EXIT
END IF
END LOOP
代码是根据我上次写的改的, 你再根据你的表结构改下。
你的IF判断是有问题的,语法跟逻辑都不正确。
sql server,PL/SQL,mysql区别为:性质不同、数据类型不同、面向群不同。
一、性质不同
1、sql server:sql server是Microsoft 公司推出的关系型数据库管理系统。
2、PL/SQL:PL/SQL是一种过程化语言,是Oracle数据库对SQL语句的扩展。
3、mysql:mysql是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。
二、数据类型不同
1、sql server:sql server对非传统的数据类型缺乏内置的支持。
2、PL/SQL:PL/SQL能够利用Web的多媒体特性,将在Web中发现的各种数据类型集成为数据包(mess)。
3、mysql:mysql能够将非传统的数据存储到单独的服务器里的平面(flat)文件中,然后使用OLE-DB将它们链接在一起。
三、面向群不同
1、sql server:sql server的面向群体为商业化大型企业。
2、PL/SQL:PL/SQL的面向群体为商业化大型企业。
3、mysql:mysql的面向群体为一般的个人使用者和中小型企业。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)