记录未显示结果

时间:2020-05-03 06:45:12

标签: sql oracle oracle10g record

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;
/

问题是,即使我有一位住在孟买市的经理,我也无法获得适当的输入。

我在做什么,因为我无法获得正确的输出。

This is the output I am getting

以下是该表的输入:

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');

1 个答案:

答案 0 :(得分:1)

该表具有Mumbai,选择使用mumbai。情况不同。 @Littlefoot是要求INSERT声明的权利,没有他们,我们将无济于事。

如果您想使SELECT工作,则需要折叠表并查询为相同的大小写:

WHERE lower(city) = lower('Mumbai')
相关问题