select 的格式使用错误,正确的格式: select cid into tmpcid from classes where cname=cname; select lid into teplid from links where lname = lname; insert into cltable(cid,lid) values(tmpcid, tmplid);试试吧,应该没有错误
select 语句查询出来的数据多了,你查一下你select 一次可以查出来多少条记录
to icewolf_li(冰狼) and newboy3205579(新手上路):两位不要只看错误信息,要好好看看他问题的描述 他的建表语句两位有没有看?很明显select的条件都是unique,所以根本不是select出多条记录。 而是他的语句写法有错误。
1.参数不要指定长度 2.定义变量不需要declare 3.select col_name into var_name 而不是 := 楼主改一下再看看
楼主,既然CID、LID是主键,并且CName、LName也是唯一的,可以这样写,确保只返回一条记录 select min(CID) into tmpcid from Classes where CName=cname; select min(LID) into tmplid from Links where LName=lname;
frien, 这样做不行啊,得不到预期的结果. 现在我的Classes,Links中分别有如下数据: Classes CID CName 1 C++ 4 OracleLinks LID LName 2 www.csdn.net 3 www.oradb.netexecute INSERTCLTABLE_PRO('Oracle','www.oradb.net') 当我执行后,在CLTable中存在这样一条纪录 CID LID 1 2 而不是预期的结果 CID LID 2 3
select cid into tmpcid from classes where cname=cname;
select lid into teplid from links where lname = lname;
insert into cltable(cid,lid) values(tmpcid, tmplid);试试吧,应该没有错误
他的建表语句两位有没有看?很明显select的条件都是unique,所以根本不是select出多条记录。
而是他的语句写法有错误。
2.定义变量不需要declare
3.select col_name into var_name 而不是 :=
楼主改一下再看看
select min(CID) into tmpcid from Classes where CName=cname;
select min(LID) into tmplid from Links where LName=lname;
这样做不行啊,得不到预期的结果.
现在我的Classes,Links中分别有如下数据:
Classes
CID CName
1 C++
4 OracleLinks
LID LName
2 www.csdn.net
3 www.oradb.netexecute INSERTCLTABLE_PRO('Oracle','www.oradb.net')
当我执行后,在CLTable中存在这样一条纪录
CID LID
1 2
而不是预期的结果
CID LID
2 3