建立存储过程 dqxx(in city varchar(10),in district varchar(10)) 输入城市city和区县district的名称,显示乡x、镇z和街道jd、其他的个数 提示:即name字段含有乡、镇、街道及不包含上述选项的个数 调用过程 以长沙市和开福区为参数,调用dqxx过程 以厦门市和同安区为参数,调用dqxx过程 例如,以长沙市和岳麓区为参数,调用过程显示结果如下 乡 街道 镇 其他 1 9 1 0
时间: 2023-06-27 19:04:15 浏览: 238
oracle10g存储过程语法
以下是该存储过程的实现:
```
CREATE PROCEDURE dqxx(IN city VARCHAR(10), IN district VARCHAR(10))
BEGIN
SELECT
SUM(CASE WHEN name LIKE '%乡%' THEN 1 ELSE 0 END) AS '乡',
SUM(CASE WHEN name LIKE '%街道%' THEN 1 ELSE 0 END) AS '街道',
SUM(CASE WHEN name LIKE '%镇%' THEN 1 ELSE 0 END) AS '镇',
SUM(CASE WHEN name NOT LIKE '%乡%' AND name NOT LIKE '%街道%' AND name NOT LIKE '%镇%' THEN 1 ELSE 0 END) AS '其他'
FROM
table_name -- 将table_name替换为实际表名
WHERE
city_name = city AND district_name = district;
END;
```
请将上述代码中的`table_name`替换为实际的表名,`city_name`和`district_name`替换为实际的城市和区县字段名。
以长沙市和开福区为参数调用过程:
```
CALL dqxx('长沙市', '开福区');
```
以厦门市和同安区为参数调用过程:
```
CALL dqxx('厦门市', '同安区');
```
结果会在终端或客户端中显示。
阅读全文