select 用户名 from 用户信息 where 用户名=p_用户名 and 密码=p_密码; 这句话单独列出来有没有数据?
是像SQL SERVER,因为我初学Oracle的原因, select 用户名 from 用户信息 where 用户名=p_用户名 and 密码=p_密码; 这句代入参数就能找出数据如: select 用户名 from 用户信息 where 用户名='1' and 密码='1'; Oracle存储过程中的Select语句不是一定要用到游标吗? 所以我 type ref_cursor is ref cursor; pcs ref_cursor; 定义了,不对吗?请帮忙解决!
( p_用户名 in 用户信息.用户名%TYPE, p_密码 in 用户信息.密码%TYPE ) as type ref_cursor is ref cursor; pcs ref_cursor; begin open pcs for 'select 用户名 from 用户信息 where 用户名='||p_用户名||' and 密码='||p_密码; end;
beckhambobo(beckham) is right!! 在ORACLE中,字符類型的數據在操作時必須用兩個單引號括起來! 例如: SELECT * FROM USER_INFORMATION WHERE USER_NAME='JOHN';
这是Oracle的非限定性游标的用法,不过应该把游标定义在PACKAGE里: CREATE OR REPLACE PACKAGE spm IS TYPE rctl IS REF CURSOR RETURN tt%ROWTYPE PROCEDURE proc1(rc1 IN OUT rctl);END;` ( p_用户名 in 用户信息.用户名%TYPE, p_密码 in 用户信息.密码%TYPE,
这句话单独列出来有没有数据?
select 用户名 from 用户信息 where 用户名=p_用户名 and 密码=p_密码;
这句代入参数就能找出数据如:
select 用户名 from 用户信息 where 用户名='1' and 密码='1';
Oracle存储过程中的Select语句不是一定要用到游标吗?
所以我
type ref_cursor is ref cursor;
pcs ref_cursor;
定义了,不对吗?请帮忙解决!
p_用户名 in 用户信息.用户名%TYPE,
p_密码 in 用户信息.密码%TYPE
)
as
type ref_cursor is ref cursor;
pcs ref_cursor;
begin
open pcs for 'select 用户名 from 用户信息 where 用户名='||p_用户名||' and 密码='||p_密码;
end;
在ORACLE中,字符類型的數據在操作時必須用兩個單引號括起來!
例如:
SELECT * FROM USER_INFORMATION
WHERE USER_NAME='JOHN';
CREATE OR REPLACE PACKAGE spm
IS TYPE rctl IS REF CURSOR
RETURN tt%ROWTYPE
PROCEDURE proc1(rc1 IN OUT rctl);END;`
(
p_用户名 in 用户信息.用户名%TYPE,
p_密码 in 用户信息.密码%TYPE,
)