SELECT *
FROM causer
WHERE user_id IN up_causer_getmaxid
CREATE OR REPLACE PROCEDURE UP_CAUSER_GetMaxId
AS
DECLARE @TempID number
SELECT @TempID = max(USER_ID)+1 FROM CAUSER
IF @TempID IS NULL
RETURN 1
ELSE
RETURN @TempID
GOtable:
user_id user_pwd user_state
9001 1 1
9002 2 1
9003 3 0
9004 4 1
9005 5 0TOAD说我的PROCEDURE有问题。
FROM causer
WHERE user_id IN up_causer_getmaxid
CREATE OR REPLACE PROCEDURE UP_CAUSER_GetMaxId
AS
DECLARE @TempID number
SELECT @TempID = max(USER_ID)+1 FROM CAUSER
IF @TempID IS NULL
RETURN 1
ELSE
RETURN @TempID
GOtable:
user_id user_pwd user_state
9001 1 1
9002 2 1
9003 3 0
9004 4 1
9005 5 0TOAD说我的PROCEDURE有问题。
解决方案 »
- v$db_cache_advice 字段解释
- oracle初级问题一起问
- oracle内存修改2G后实例连接失败
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(三)数据库管理篇
- PL/SQL中SELECT INTO无记录的情况,你觉得哪种处理方法好?
- sqlserver200怎么导表和存储过程到oracle?
- 关于SQL Plus
- 用存储过程如何创建表temp_table???
- 开发ORACLE用的最多的是什么语言?
- 求助:请哪位牛人指点下,“统计查询出2017.6.1-2017.6.30(按出院日期)各病区科室的住院总人数、总天数、总费用“的查询语句怎么写?
- Oracle isqlplus 登录设置总是失败, 为何呢?
- 急~~~在线求各位大侠!!!!
CREATE OR REPLACE FUNCTION test RETURN NUMBER IS
tmpVar NUMBER;BEGIN
tmpVar := 0;
select max(user_id)+1 into tmpVar from causer;
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END test;不过我有两个问题搞不懂:1、为啥是max(user_id)+1,不是max(user_id),比最大的还大一点,那你的sql还能找到么?2、为啥不直接用一个sql搞定?