存储过程 做一个简单的查询
例如 select * from emp;
我现在想用存储过程实现,请问一定要定义那么多变量然后select ...into ...吗?
还有即使得到想要的查询也无法显示列明 该怎么处理?求指教,菜鸟级的别鄙视哈!
例如 select * from emp;
我现在想用存储过程实现,请问一定要定义那么多变量然后select ...into ...吗?
还有即使得到想要的查询也无法显示列明 该怎么处理?求指教,菜鸟级的别鄙视哈!
解决方案 »
- oracle创建其它实例用户
- oracle count 性能
- 用plsql登录某个数据库服务器很慢,登录别的就是正常的
- 求教:oracle job创建不成功
- 不知哪里出了问题,一个IF语句的true和false分支都被执行到? 望解惑,不胜感激!
- 如何导数据快
- 关于过程参数 out型 in型 out&in型的问题
- 資料庫網羅更新速度問題----急
- 把ACCESS数据移植到ORACLE如何操作?
- proc高手请入!proc访问oracle8.1.7汉字显示不正确!!!!
- 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 ;