17,377
社区成员
发帖
与我相关
我的任务
分享
scott@ORCL> ed
已写入 file afiedt.buf
1 CREATE TABLE USE
2 (ID NUMBER,
3 NAME VARCHAR2(10)
4* )
5 /
表已创建。
scott@ORCL> insert into use
2 select 1,'wo' from dual union all
3 select 2,'you' from dual
4 /
已创建2行。
scott@ORCL> commit
2 /
提交完成。
scott@ORCL> ed
已写入 file afiedt.buf
1 create function eet(na in use.id%type) return use.name%type
2 as
3 outpwd use.name%type;
4 begin
5 select name into outpwd from use where id=na;
6 return outpwd;
7* end;
scott@ORCL> /
函数已创建。
scott@ORCL> set serveroutput on
scott@ORCL> ed
已写入 file afiedt.buf
1 declare
2 var use.name%type;
3 begin
4 var:=eet(1);
5 dbms_output.put_line(var);
6* end;
scott@ORCL> /
wo
PL/SQL 过程已成功完成。
--这是我的整个过程,楼主看下
1.建表
CREATE TABLE TEST.USE
(
ID NUMBER(2,0),
NAME VARCHAR2(10)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE KANRI
STORAGE(INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
/
2.表中插入数据
ID NAME
1 LOUZHU
3.创建函数
create function eet2
(na in use.id%type)
return use.name%type
as
outpwd use.name%type;
begin
select name into outpwd from use where id=na;
return outpwd;
end;
4.执行函数
SQL> set serveroutput on
SQL> declare
2 var use.name%type;
3 begin
4 var:=eet2(1);
5 dbms_output.put_line(var);
6 end;
7 /
LOUZHU
PL/SQLプロシージャが正常に完了しました。
SQL>
--上述执行成功,和var关键字木有一毛钱的关系,
--应该是楼主参数的类型不太对应
--靠!颜色有问题啊
CREATE TABLE CASKOKYOTEST.USE
(
ID NUMBER(2,0),
NAME VARCHAR2(10)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE KANRI
STORAGE(INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
/
楼主的表结构,如果是这个样子,就应该没有问题
CREATE TABLE CASKOKYOTEST.USE
(
ID NUMBER(2,0),
NAME VARCHAR2(10)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE KANRI
STORAGE(INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
/