CREATE TABLE manager (
mgrid INT PRIMARY KEY,
fname VARCHAR2(50),
city VARCHAR2(50)
);
上面是manager表。
&以下是我为获取记录而编写的代码。
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');
答案 0 :(得分:1)
该表具有Mumbai
,选择使用mumbai
。情况不同。 @Littlefoot是要求INSERT
声明的权利,没有他们,我们将无济于事。
如果您想使SELECT
工作,则需要折叠表并查询为相同的大小写:
WHERE lower(city) = lower('Mumbai')