CREATE TABLE manager (
mgrid INT PRIMARY KEY,
fname VARCHAR2(50),
city VARCHAR2(50)
);
以上是经理表。
& 下面是我写的获取记录的代码。
DECLARE
TYPE mgr_info IS RECORD (
mgrid manager.mgrid%TYPE,
fname manager.fname%TYPE,
city manager.city%TYPE
);
mgr mgr_info;
id manager.mgrid%TYPE;
name manager.fname%TYPE;
mcity manager.city%TYPE;
BEGIN
SELECT
mgrid,
fname,
city
INTO mgr
FROM
manager
WHERE
city = 'Mumbai';
id := mgr.mgrid;
name := mgr.fname;
mcity := mgr.city;
dbms_output.put_line('Manager ID = '
|| id
|| ' || Manager Name = '
|| name
|| ' || City = '
|| mcity);
EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('No Matching Record Found');
WHEN too_many_rows THEN
dbms_output.put_line('More than one matching Record Found');
END;
/
问题是我无法得到正确的输入,即使我有一行是住在孟买市的经理。
什么是我没有做,我不能得到正确的输出。
下面是该表的输入。
insert into manager values(101,'mohan','jaipur');
insert into manager values(102,'sohan','surat');
insert into manager values(103,'rohan', 'delhi');
insert into manager values(104,'jagmohan','mumbai');
该表有 Mumbai
,选择使用 mumbai
. 案情不同。@小脚是对的,问的是 INSERT
报表,如果没有他们,我们也帮不上忙。
如果你想知道 SELECT
工作,你需要将表和查询都折叠成相同的情况。
WHERE lower(city) = lower('Mumbai')