请选择 进入手机版 | 继续访问电脑版

大道数据社区

 找回密码
 立即注册
查看: 313|回复: 5

Oracle 的存储过程必须有入口变量和出口变量吗?

[复制链接]

1

主题

6

帖子

35

积分

新手上路

发表于 2020-1-30 00:18:01 | 显示全部楼层 |阅读模式
一般话题
副标题: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
初入门Oracle....
我用Stored Procedures 修改表结构,但总是编译错误,必须要用IN 和 OUT 变量吗? 我不需要这些变量,只需要修改表的结构。
谢谢!

回复

使用道具 举报

6

主题

23

帖子

102

积分

PowerBITraining

发表于 2020-1-30 00:33:02 | 显示全部楼层
Oracle 存储过程不需要必须 IN 或者 OUT。 修改表结构? 你怎么写的 SP?
回复

使用道具 举报

1

主题

6

帖子

35

积分

新手上路

 楼主| 发表于 2020-1-30 00:44:12 | 显示全部楼层
micror 发表于 2020-1-30 00:33
Oracle 存储过程不需要必须 IN 或者 OUT。 修改表结构? 你怎么写的 SP?

非常简单,代码如下:

  1. create or replace PROCEDURE USP_createStagingColumns
  2. AS
  3. BEGIN
  4.   ALTER TABLE Patient ADD (DOB DATE NULL);
  5.   ALTER TABLE PatientAddress ADD(ADDRESS_LINE_3 VARCHAR2(200 CHAR));
  6. END;
复制代码


回复

使用道具 举报

6

主题

23

帖子

102

积分

PowerBITraining

发表于 2020-1-30 00:50:49 | 显示全部楼层
ALTER 是 DDL 语句,在 Oracle 中不能直接使用,需要用动态SQL。
比如:

  1. EXECUTE IMMEDIATE 'ALTER .....' ;
复制代码


在你的 SP 中替换成这种语句即可。

点评

价值评分: 5.0
价值评分: 5
  发表于 2020-2-4 22:53
回复

使用道具 举报

1

主题

6

帖子

35

积分

新手上路

 楼主| 发表于 2020-2-4 22:53:29 | 显示全部楼层
micror 发表于 2020-1-30 00:50
ALTER 是 DDL 语句,在 Oracle 中不能直接使用,需要用动态SQL。
比如:

谢大神!
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|大道数据社区

GMT+8, 2020-4-7 05:53 , Processed in 0.101258 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表