存储过程 做一个简单的查询
例如 select * from emp;
我现在想用存储过程实现,请问一定要定义那么多变量然后select ...into ...吗?
还有即使得到想要的查询也无法显示列明 该怎么处理?求指教,菜鸟级的别鄙视哈!
例如 select * from emp;
我现在想用存储过程实现,请问一定要定义那么多变量然后select ...into ...吗?
还有即使得到想要的查询也无法显示列明 该怎么处理?求指教,菜鸟级的别鄙视哈!
解决方案 »
- oracle关联表更新求解
- 大家帮我看看我的存储过程哪里出错了啊?
- 一个表,有一个自增的ID,我想每次insert into这个表的时候得到产生记录的ID,请问如何做?
- 菜鸟极问题 数据库中方案是什么意思 干吗用的 他与例程 SID都是什么关系
- isqlplus 怎么调用出来
- 两个表互导的问题!
- 请问在SQL PLUS 里查看本机上有几个数据库啊!
- 好像很简单,但是做起来很烦!
- JSP连接ORACLE 9i数据库,出现"流已被关闭"的错误
- weblogic子域启动后 开服务报错
- oracle有条件删除重复数据
- CreateObject("OracleInProcServer.XOraSession")的读取问题
-- 存储过程要求:
-- 根据登入者的账号和密码查询出对应的交易账号的资料
-- Add the parameters for the stored procedure here
@LoginId VARCHAR(20) ,
@LoginPW VARCHAR(32)
AS
BEGIN
SELECT a.*
FROM dbo.Account a ,
dbo.AccountLogin b ,
dbo.Login c
WHERE a.AccountCode = b.AccountCode
AND a.SystemType = b.SystemType
AND b.LoginId = c.LoginId
AND c.LoginId = @LoginId
AND pwdcompare(@LoginPW, c.LoginPW) = 1
--AND c.LoginPW = @LoginPW
END
T-sql的存储过程 我改成plsql
CREATE OR REPLACE PROCEDURE getAccountOfLogin
(
V_LoginId VARCHAR2,
V_LoginPW VARCHAR2
)
IS
begin
declare
v_id account.ACCOUNTID%TYPE;
v_type account.SYSTEMTYPE%TYPE;
v_code account.ACCOUNTCODE%TYPE;
v_pw account.ACCOUNTPW%TYPE;
v_role account.ACCOUNTROLE%TYPE;
v_status account.STATUS%TYPE;
v_update account.UPDATEDT%TYPE;
cursor cur is
select a.*
from account a, accountlogin b,login c
where a.accountcode=b.accountcode
and a.systemtype=b.systemtype
and b.loginid=c.loginid
and c.loginid=V_LoginId
and c.loginpw=V_LoginPW ;
BEGIN
open cur;
loop
fetch cur into v_id,v_type,v_code,v_pw,v_role,v_status,v_update;
EXIT WHEN cur%NOTFOUND;
dbms_output.put_line(v_id||v_type||v_code||v_pw||v_role||v_status||v_update);
end loop;
close cur;
end;
end;
这样有问题吗?
如下:
create or replace procedure test_dual
as
sql1 varchar2(2000);
begin
sql1:='select '1' from dual ' ;--1
execute immediate sql1;
commit;
end ;