oracle下的储存过程

[复制链接]
查看11 | 回复3 | 2010-3-1 11:19:50 | 显示全部楼层 |阅读模式
小弟以前是用sql的,现在有个项目是要用oracle的,我只好从新学oracle.
遇到问题了。
在oracle下建立储存过程是不是在 表/源类型/过程 -->创建呢?
在oracle下
储存过程
Create or new function PRO_DIANXIN
(
dianxin_ID in Number
)
as
begin
select * from xie.dianxin where ID=dianxin_ID
end;
有错吗? 怎么改呢。
谢谢各位前辈了。
回复

使用道具 举报

千问 | 2010-3-1 11:19:50 | 显示全部楼层
错了。。
你要select啥, 要有对应的variable..
funtion 要传的是啥?
[php]
CREATE OR REPLACE FUNCTION pro_dianxin (dianxin_id IN NUMBER)
RETURN VARCHAR2
AS
v_surname xie.dianxin.surname%TYPE;
BEGIN
SELECT surname
INTO v_surname
FROM xie.dianxin
WHERE ID = dianxin_id;
RETURN v_surname;
END;
[/php]
回复

使用道具 举报

千问 | 2010-3-1 11:19:50 | 显示全部楼层
建议先看一下基本的PL/SQL的语法
回复

使用道具 举报

千问 | 2010-3-1 11:19:50 | 显示全部楼层
Create Or Replace Function Pro_Dianxin(Dianxin_Id In Number)

Return Varchar2 Is

v_Field1 Varchar2(20);
Begin

Select Name

Into v_Field1

From Xie.Dianxin
Where Id = Dianxin_Id;

Return(v_Field1);
End ;
查了一下,这样写,可是编译的时候有错。
行号= 1 列号= 31 错误文本= PLS-00103: 出现符号 "CREATE"在需要下列之一时:( ; is with authid ascluster compress order using compiled wrapped externaldeterministic parallel_enable pipelined
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行