oracle数据库存储过程基本语法

2023-11-18

         oracle数据库存储过程

一,基本语法
数据类型:
**(一)字符类型:**字符串数据类型还可以依据存储空间分为固定长度类型(CHAR)和可变长度类型(varchar2/nvarchar2)两种
1,char类型:定长字符串,会用空格填充来达到器最大长度,非null的char(12)总是包含12字节信息。char字段最多可以存储2000字节的信息。如果创建表时,不指定char长度,则默认为1。
2,varchar2类型:变长字符串,与char类型不同,它不会使用空格填充至最大长度。varchar2最多可以存储4000字节信息。
3,nvarchar2类型:这是一个包含unicode格式数据的变长字符串。nvarchar2最多可以存储4000字节的信息,长度并不是字节表示了,而是字符数量。比如nuarchar2(10)表示可以存储10个字符。
(二)数字类型
1,number类型:number(p,s)是常见的数据类型
p是precison的英文缩写,即精确缩写,表示有效数字的位数,最多不能超过38个有效数字;
s是scale的英文缩写,表示小数点数字的位数。
2,integer类型:integer是number的子类型,它等同于number(38,0),用来存储整数。若插入,更新的数值有小数,则会被四舍五入。
(三)浮点数
1,binary_float类型: binary_float是32位,单精度浮点数字数据类型。可以支持至少6位精度,每个binary_float的值需要5个字节,包括长度字节。
2,binary_double类型:binary_double是为64位,双精度浮点数字数据类型。每个binary_double的值需要9个字节,包括长度字节。
(四)日期类型
1,date类型:date是最常见的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有关联的属性。为每个日期值,Oracle存储如下信息:世纪,年,月,日,小时,分钟和秒,一般占用7个字节存储空间。
2,timestamp类型:这是一个7个字节或12字节的定宽日期时间数据类型。它与date数据类型不同,因为timestamp可以包含小数秒,带小数秒的timestamp在小数点右边最多可以保留9位数。
3,timestamp with time zone类型:这是timestamp类型的变种,它包含了时区的偏移量的值。
4,timestamp withlocal time zone类型:将时间一数据类库时区进行规范化后进行存储。
(五)lob类型
1,clob类型(Character Large Object):二进制数据,存储单字节和多字节字符数据。最大长度4G。
2,blob类型(Binary Large Object):它存储非结构化的二进制数据大对象,它可以被认为是没有字符集义的比特流,一般图像;声音;视频等文件,最大4G。
3,nclob数据类型:存储Unicode类型的数据,最大长度4G。
(六)long&raw&long raw类型
1,long类型:它存储变长字符串(超长字符串),最多达2G的字符数据(2GB是指两千兆字节,而不是两千兆字符)。
2,raw类型:用于存储二进制或字符类型数据,必须指定长度。这种数据类型的数据不会发生字符集转换。可存放多媒体图像声音等。
3,long raw类型:能存储2GB的原始二进制数据,可存放媒体图像声音等。
二,数据库存储过程语法
一)oracle数据路存储过程的创建(基本结构)
1,带参数的存储过程创建
CREATE OR REPLACE PROCEDURE 存储过程名字 (
–输入参数 IN NUMBER,
–输出参数 OUT NUMBER --可以有多个输入参数和输出参数
) IS
–这个区间可以用来定义变量和创建游标
BEGIN
–执行游标或者执行语句
commit; --对上面的内容进行提交
exception//存储过程异常
when others then
–异常处理方法,可以是打印错误,然后进行回滚等操作,下面操作一样,看自己情况决定
rollback;
dbms_output.put_line(sqlcode);
dbms_output.put_line(substr(sqlerrm, 1, 512));
END 存储过程名字;
注意:其中参数IN表示输入参数,是参数的默认模式。
OUT表示返回值参数,类型可以使用任意Oracle中的合法类型。
OUT模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程
IN OUT表示该参数可以向该过程中传递值,也可以将某个值传出去。
2,无参存储过程的创建
CREATE OR REPLACE PROCEDURE 存储过程名字
IS
–这个区间可以用来定义变量和创建游标
BEGIN
–执行游标或者执行语句
commit; --对上面的内容进行提交
exception//存储过程异常
when others then
–异常处理方法,可以是打印错误,然后进行回滚等操作,下面操作一样,看自己情况决定
rollback;
dbms_output.put_line(sqlcode);
dbms_output.put_line(substr(sqlerrm, 1, 512));
END 存储过程名字;
(二)变量的声明和赋值
1,变量的声明
a、按照数据类型进行声明
格式:变量名 变量的数据类型;
样例:v_name varchar2(500);
b、根据表字段进行声明
格式:变量名 表名.字段名%TYPE
样例:v_name userinfo.name%TYPE;
注意:变量的数据类型和表名的字段数据类型一致
c、根据表的行记录进行声明
格式:变量名 表名/游标名%ROWTYPE
样例:v_user_row userinfo%ROWTYPE;
注意:变量的数据类型和表的行数据类型一致
2,变量的赋值
a、直接赋值,需要使用:=进行赋值
使用的条件:只能在变量的声明a和b才能使用直接赋值
先声明在赋值(声明在上面a和b)
样例:v_name:= ‘小花’;
声明和赋值同时进行
v_name varchar(500) := ‘小花’
b、select 字段 into 变量 from 表名 进行赋值
单个字段复制:
select name into v_name from userinfo;
使用条件:也是只限于a和b使用
行记录复制:
select * into v_user_row from userinfo;
使用条件:也是只限于c使用
c、execute immediate sql语句 into 变量 进行赋值
v_name varchar2(500);
v_name_sql varchar2(500) :=‘select name from userinfo where id=1’;
execute immediate v_name_sql into v_name ;
语句含义是like执行v_name_sql 语句并将结果赋值给v_name。
(三)流程控制语句
1,条件控制语句 IF … THEN … END 或者 IF … ELSIF… THEN …END
基本语法:
IF 条件表达式1 THEN
语句段1
ELSIF 条件表达式2 THEN
语句段2

ELSIF 条件表达式n THEN
语句段n
END IF;
样例:如果flag_num=0则输出’早上好’,如果flag_num=1 则输出 ‘中午好’,否则输出’晚上好’,
declare
flag_num int:= 0;
begin
if flag_num=0 then
dbms_output.put_line(‘早上好’);
elsif flag_num=1 then
dbms_output.put_line(‘中午好’);
else
dbms_output.put_line(‘晚上好’);
end if;
end;
2,条件控制语句case
基本语法:
CASE
WHEN 条件表达式1 THEN
语句段1;
WHEN 条件表达式2 THEN
语句段2;

ELSE
语句段n;
END CASE;
样例:如果flag_num=0则输出’早上好’,如果flag_num=1 则输出 ‘中午好’,否则输出’晚上好’
declare
flag_num int:= 0;
begin
case
when flag_num=0 then dbms_output.put_line(‘早上好’);
when flag_num=1 then dbms_output.put_line(‘中午好’);
else dbms_output.put_line(‘晚上好’);
end case;
end;
3,循环控制语句
a,loop循环
基本语法:
LOOP
EXIT [WHEN 条件表达式] --循环终止条件,为ture时,退出循环,否则再次执行循环体
语句段;
END LOOP;
样例:
declare
i int:= 0;
begin
loop
EXIT WHEN i > 3;
i:=i+1;
dbms_output.put_line(i);
end loop;
end;
语句解释:初始变量i为0,当i进入loop循环时,i>3则退出循环,i等于i+1,进行打印,然后依次循环,直至i>3时退出循环。
b,while循环
基本语法:
WHILE 条件表达式 LOOP
语句段;
END LOOP;
样例:
declare
i int := 0;
begin
while i < 3 loop
i := i + 1;
dbms_output.put_line(i);
end loop;
end;
语句解释:初始变量i为0,当i进入loop循环时,i<3进入循环,i等于i+1,进行打印,然后依次循环,直至i不小于3时退出循环。
3,for循环
基本语法:(注意:如加上reverse表示倒叙循环执行语句)
FOR 循环变量 in [REVERSE] 初值表达式…终值表达式 LOOP
语句段;
END LOOP;
样例:
declare
i int := 0;
begin
for i IN reverse 1…5 loop
dbms_output.put_line(i);
end loop;
end;
语句解释:初始变量i为0,循环遍历1…5,for循环默认是递增,但是加上reverse 会变成递减,将5赋给i,打印i,直至将1…5全部循环遍历,结束循环,for循环只适用于已知循环次数的遍历。
(四)游标
1,游标的定义:
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。游标存在隐式游标和显式游标。
2,隐式游标
DML操作和单行SELECT语句会使用隐式游标,它们分别是:
* 插入操作:INSERT。
* 更新操作:UPDATE。
* 删除操作:DELETE。
* 单行查询操作:SELECT … INTO …。
隐式游标使用样例:
a,创建一个包含name,age,addr三个字段的表
create table userinfo(
name varchar2(500);
age number(20);
addr varchar2(500);
)
b,编写插入的代码并用上面的游标属性进行监控
declare
begin
insert into userinfo (name,age,addr) values(‘zs’,18,‘sc’);
dbms_output.put_line(‘游标所影响的行数:’||SQL%rowcount);
if SQL%NotFound then --没有找到上面执行的sql
dbms_output.put_line(‘SQL%NotFound:true’);
else
dbms_output.put_line(‘SQL%NotFound:false’);
end if;
if SQL%Found then --找到上面执行的sql
dbms_output.put_line(‘SQL%Found:true’);
else
dbms_output.put_line(‘SQL%Found:false’);
end if;
if SQL%isopen then --游标是否打开
dbms_output.put_line(‘SQL%isopen:true’);
else
dbms_output.put_line(‘SQL%isopen:false’);
end if;
end;
c,执行的结果:
游标所影响的行数:1
SQL%NotFound:false
SQL%Found:true
SQL%isopen:false
d,编写一个查询的代码对游标属性进行监控
declare
v_info userinfo %ROWTYPE;
begin
select * into v_info from TEST_TABLE where name =‘zs’;
dbms_output.put_line(‘name:’||v_info.name);
dbms_output.put_line(‘age:’||v_info.age);
dbms_output.put_line(‘addr:’||v_info.addr);
dbms_output.put_line(‘游标所影响的行数:’||SQL%rowcount);
if SQL%NotFound then
dbms_output.put_line(‘SQL%NotFound:true’);
else
dbms_output.put_line(‘SQL%NotFound:false’);
end if;
if SQL%Found then
dbms_output.put_line(‘SQL%Found:true’);
else
dbms_output.put_line(‘SQL%Found:false’);
end if;
if SQL%isopen then
dbms_output.put_line(‘SQL%isopen:true’);
else
dbms_output.put_line(‘SQL%isopen:false’);
end if;
end;
e,查询的结果为:
name:zs
age:18
addr:sc
游标所影响的行数:1
SQL%NotFound:false
SQL%Found:true
SQL%isopen:false
3,显示游标
a,游标的声明
(1) 带参数的游标:
CURSOR 游标名 (参数1 数据类型,…)
IS
SELECT语句;
(2) 无参的游标:
CURSOR 游标名
IS
SELECT语句;
注意:SELECT语句是对表或视图的查询语句,甚至也可以是联合查询。可以带WHERE条件、ORDER BY或GROUP BY等子句,但不能使用INTO子句。
b,打开游标
在可执行部分,按以下格式打开游标:
OPEN 游标名(参数1,…) --存在参数
或者
OPEN 游标名 --不存在参数
打开游标时,SELECT语句的查询结果就被传送到了游标工作区。
c,提取数据
FETCH 游标名 INTO 变量;
游标打开后有一个指针指向数据区,FETCH语句一次返回指针所指的一行数据,要返回多行需重复执行,可以使用 循环语句来实现。控制循环可以通过判断游标的属性来进行。
d,关闭游标
CLOSE 游标名;
显式游标打开后,必须显式地关闭。游标一旦关闭,游标占用的资源就被释放,游标变成无效,必须重新打开才能使用。
4,游标的属性
通过游标的属性,来了解游标的执行状态和结果,进而控制游标的执行操作。隐式游标可以使用名字SQL来访问,但要注意,通过SQL游标名总是只能访问前一个DML操作或单行SELECT操作的游标属性。通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。
游标的属性有四种:
sql%found (布尔类型, 默认值为null)
sql%notfound(布尔类型, 默认值为null)
sql%rowcount(数值类型, 默认值为0)
sql%isopen(布尔类型)
a, SQL%FOUND和SQL%NOTFOUND
在执行任何DML语句前SQL%FOUND和SQL%NOTFOUND的值都是NULL,在执行DML语句后,
SQL%FOUND的属性值将是:
.TRUE :INSERT --判断是否插入成功
.TRUE :DELETE和UPDATE,至少有一行被DELETE或UPDATE.–判断修改和删除成功
.TRUE :SELECT INTO至少返回一行 --判断查询成功
当SQL%FOUND为TRUE时,SQL%NOTFOUND为FALSE。
b, SQL%ROWCOUNT
在执行任何DML语句之前,SQL%ROWCOUNT的值都是NULL, 对于SELECT INTO语句,如果执行成功,SQL%ROWCOUNT的值为1,如果没有成功或者没有操作(如update、insert、delete为0条),SQL%ROWCOUNT的值为0, 而对于update和delete来说表示游标所检索数据库行的个数即更新或者删除的行数。
c,SQL%ISOPEN
SQL%ISOPEN是一个布尔值,如果游标打开,则为TRUE, 如果游标关闭,则为FALSE.对于隐式游标而言SQL%ISOPEN总是FALSE,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle数据库存储过程基本语法 的相关文章

  • 每组最大 n 个 SQL 查询的高性能方法

    我正在尝试构建一个基础设施 以便根据需要快速运行回归 从包含我们网络服务器上所有历史活动的数据库中提取 apache 请求 为了通过确保我们仍然回归来自较小客户的请求来提高覆盖范围 我想通过为每个客户检索最多 n 个 为了这个问题 假设 1
  • Oracle sqlldr是否并行处理多个INFILE

    我正在使用 sqlldr 将数据加载到 Oracle RAC 在 Linux 上 并且我正在尝试提高数据加载的性能 我正在使用 直接路径 并且为 sqlldr 设置了 parallel true 而且 由于我的服务器是多核的 所以默认情况下
  • postgresql 中的咨询锁超时

    我正在从 ORACLE 迁移 目前我正在尝试移植此呼叫 lkstat DBMS LOCK REQUEST lkhndl DBMS LOCK X MODE lktimeout true 这个功能 http docs oracle com cd
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • Oracle中“NUMBER”和“NUMBER(*,0)”相同吗?

    在甲骨文中文档 http docs oracle com cd B28359 01 server 111 b28318 datatype htm i22289据说 数字 精度 小数位数 如果未指定精度 则该列将存储给定的值 如果 未指定比例
  • C# 中强制关闭 oracle 连接

    我有一个报告窗口 显示从可能长时间运行的 Oracle 存储过程返回的结果 我的问题是 当用户关闭窗口时 与 Oracle 的连接保持打开状态 并且可能长时间运行的报告不会被取消 关闭打开的连接的唯一方法是 DBA 手动终止它们或用户退出整
  • Oracle 触发器创建时出现编译错误,ORA-02289: 序列不存在

    当我使用 PowerDesigner 生成 SQL 并在 Oracle 中运行它时 它会抛出错误 警告 触发器创建时出现编译错误 create trigger tib material classify before insert on m
  • ORACLe PROCEDURE - AUTHID 仅允许在模式级别

    在尝试通过过程创建表时 我遇到了类似的错误 错误 73 9 PLS 00157 仅在架构级程序上允许 AUTHID PROCEDURE BCKUP AUTHID CURRENT USER AS statusmsg VARCHAR2 400
  • SQL SELECT 对值求和,不包括重复项

    我在 Oracle SQL 中遇到一个问题 我正在尝试解决这个问题 我将用一个例子来说明 我正在查询三个表 Employees EmployeeID Name 1 John Smith 2 Douglas Hoppalot 3 Harry
  • Oracle DataAccess 相关:“动态程序集中不支持调用的成员。”

    据我了解 此类错误已在 SO 上讨论过多次 有些人认为这是 DLL 文件中的错误 有些人通过更改 DLL 版本来解决 其他人似乎没有任何线索 无论如何 我只是发帖试试运气 在 C GUI 上的网格中选择一行时 我的应用程序崩溃了 stack
  • 在 Oracle 过程中实现多线程

    我正在研究 Oracle 10gR2 这是我的问题 我有一个程序 我们称之为 proc parent 在包内 应该调用另一个过程 让我们调用它 用户创建 我得打电话 用户创建 在一个循环中 它从表中读取一些列 并且这些列值作为参数传递给 用
  • 休眠可能会导致此“获取顺序错误”错误吗?

    我尝试使用 Hibernate Spring JPA 执行此查询 在 Oracle DB 中 Query value DELETE from MY TABLE where ID ID nativeQuery true void delete
  • Oracle存储过程使用数组作为表插入的参数

    我一直在寻找一个明显的例子 但没有运气 抱歉 如果已经回答了 我正在尝试做一些非常简单的事情 一个存储过程 它将获取输入并将它们插入到表中 我希望它获取多行数组并一次全部插入 我认为这很简单 但我还没有找到一个可以展示我的例子 在很多例子中
  • 递归 SQL 给出 ORA-01790

    使用 Oracle 11g 第 2 版 以下查询给出 ORA 01790 表达式必须与相应表达式具有相同的数据类型 with intervals time interval AS select trunc systimestamp from
  • FROM 子句中的嵌套括号是否有效的 Oracle SQL 语法?

    此查询使用正确的 Oracle 语法吗 select from dual a where a dummy X 它可以在 11g 和 12c 中运行 但它是真正有效的语法吗 或者这只是一个编译器 错误 将来可能会修复 导致代码失败 我怀疑这是
  • REgex从oracle中的字符串中获取数字

    我有以下格式的字符串 阿克拉姆 88 jamesstree 20140418 阿克兰 8 约翰街 20140418 阿克兰 888 johnstreet 20140418 现在我只想检索 88 8 和 888 值 我为此编写了以下查询 SU
  • Oracle - 使用 DBMS_MVIEW.REFRESH 刷新“REFRESH FORCE ON DEMAND”视图时会发生什么

    我有以下物化视图 CREATE MATERIALIZED VIEW TESTRESULT ON PREBUILT TABLE WITH REDUCED PRECISION REFRESH FORCE ON DEMAND WITH PRIMA
  • 通过 Oracle 的数据库链接运行 SQL Server 存储过程

    参考如何通过数据库链接执行 Oracle 存储过程 https stackoverflow com questions 240788 how to execute an oracle stored procedure via a datab
  • Oracle:如何确定“AFTER ALTER”触发器中对象的新名称?

    假设我有一个AFTER ALTER在我的 Oracle 数据库上触发并重命名一些数据库对象 ALTER RENAME TO 在触发器中 我如何确定new数据库对象的名称 看来ORA DICT OBJ OWNER ORA DICT OBJ N
  • 在 Oracle 行的多个列上使用透视

    我在 Oracle 表中有以下示例数据 tab1 我正在尝试将行转换为列 我知道如何在某一列上使用 Oracle 数据透视表 但是否可以将其应用于多个列 样本数据 Type weight height A 50 10 A 60 12 B 4

随机推荐

  • CodeIgniter(CI)4.1.9 安装学习整理ing

    最近一直在看各种php的框架 前面一个是安装的laravel 安装成功并实验了一个小例子 下面开始试着安装 CodeIgniter 我找了一个不是最新的版本 4 1 9版本 这个版本要求的还是比较高的 要求PHP 7 3 我习惯于用wind
  • 【华为OD机试真题2023B卷 JAVA&JS】代码编辑器

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 代码编辑器 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 某公司为了更高效的编写代码 邀请你开发一款代码编辑器程序 程序的输入为 已有的代码文本和指令序列 程序需输出
  • python waitress serve_Python httpserver.serve方法代碼示例

    本文整理匯總了Python中paste httpserver serve方法的典型用法代碼示例 如果您正苦於以下問題 Python httpserver serve方法的具體用法 Python httpserver serve怎麽用 Pyt
  • Linux 磁盘管理 : stat 命令详解

    stat命令用于显示文件的状态信息 stat命令的输出信息比ls命令的输出信息要更详细 语法 stat 选项 参数 选项 L 支持符号连接 f 显示文件系统状态而非文件状态 t 以简洁方式输出信息 help 显示指令的帮助信息 versio
  • 哈夫曼编解码算法(C实现)

    记得在毕业前去找工作 应聘康佳集团移动应用工程师的笔试题出了这么一道题 传输文本字符 BADCADFEED 只能出现 ABCDEF 这六个字符 使用以下的编码方式 如传输字符 BADCADFEED 接收编码 0010000110100000
  • 整理的股票数据api接口!

    之前使用了新浪的股票数据 由于新浪http javascript缺少一些数据 用chrome自带的开发工具监视腾迅财经HTTP信息 得到以下获取股票数据的方法 以五粮液为例 要获取最新行情 访问数据接口 html view plain co
  • 汇编:表格显示(含多个子程序)

    代码如下 assume cs code data segment db 1975 1976 1977 1978 1979 1980 1981 1982 1983 db 1984 1985 1986 1987 1988 1989 1990 1
  • python中for循环的用法_谈谈对Python爬虫的理解

    不知从何时起 Python这门语言和爬虫就像一对恋人 二者如胶似漆 形影不离 你中有我 我中有你 一提起爬虫 就会想到Python 一说起Python 就会想到人工智能 和爬虫 所以 一般说爬虫的时候 大部分程序员潜意识里都会联想为Pyth
  • JDK9下载、安装和配置环境变量图解

    下载 1 输入 https www oracle com 2 选择 java download 3 点击 java archive 下拉找到 java9 4 点击进入 选择windows版本 5 勾选 下载 需要账号下载 安装 1 双击安装
  • 瞎写

    有人说人生有两大禁忌 一忌踌躇满志 一忌心灰意冷 别人我不知道 但是对我来说 似乎一直都在这两种情绪之间跳转 说实话写这篇文章的此时我应该是处于心灰意冷这个点的 下面就随便说说当处于这个点时 自己产生的一些想法 首先 处于这个状态时整个人肯
  • 传统目标检测方法研究(一)

    1 传统算法目标检测 区域选择 gt 特征提取 gt 特征分类 1 1 区域选择 python 实现 图像滑动窗口 区域选取 首先选取图像中可能出现物体的位置 由于物体位置 大小都不固定 因此传统算法通常使用滑动窗口 Sliding Win
  • db2中各个类型互相转换处理

    给数字左侧自动占位补零 digits函数 digits 参数 digits里的参数必须是整型参数 可以是smallint int bigint decimal 其中smallint占5位 int占10位 bigint占19位 decimal
  • unity 坐标系

    https blog csdn net qq 34536551 article details 90269908
  • 什么是多态?对于多态的理解....

    什么是多态 我们都知道面向对象有四个基本特性 抽象 封装 继承 多态 概括可以理解为 抽象 封装 继承 是多态的基础 多态是抽象 封装 继承的表现 多态 是Java中非常重要的一部分 简单理解 不同类的 对象 对同一消息 做出了不同的响应就
  • 电脑重装系统(U盘)

    Windows10 1 首先需要准备一个8G或以上的U盘 空的 2 前往浏览器下载windows安装工具 网址如下 https www microsoft com zh cn software download windows10 3 下载
  • CentOS7 挂载磁盘出错mount: /dev/sdb is write-protected, mounting mount: unknown filesystem type '(null)'

    报错信息如下 root localhost mount dev sdb image mount dev sdb is write protected mounting read only mount unknown filesystem t
  • 掌握Python的X篇_19_函数的定义与调用

    文章目录 1 函数 2 函数的定义 3 函数调用 1 函数 在Python 函数是一种基本的编程接口 因为函数的调用只关心参数输入和返回值 所以使得我们可以更好地进行编程分工 以下程序的功能是得到输入的三个数字的平方值 根据前面所学的话 可
  • Blender编程入门

    在本教程中 我们将学习一些 Blender 脚本技术 比如如何使用代码处理 操作 复制和动画网格图元 要结合所有这些技术 我们将创建一个波浪形的锥形图案 一个看起来很酷的动画 你可以将其转换为循环 GIF 我将使用bpy data模块中的一
  • 一位程序员工作10年总结的13个忠告

    原文网址 http zhangxpower iteye com blog 1145448 展望未来 总结过去10年的程序员生涯 给程序员小弟弟小妹妹们的一些总结性忠告 走过的路 回忆起来是那么曲折 把自己的一些心得体会分享给程 序员兄弟姐妹
  • oracle数据库存储过程基本语法

    oracle数据库存储过程 一 基本语法 数据类型 一 字符类型 字符串数据类型还可以依据存储空间分为固定长度类型 CHAR 和可变长度类型 varchar2 nvarchar2 两种 1 char类型 定长字符串 会用空格填充来达到器最大