sql编写计算圆周长的plsql块
① 什么是plsql普通的SQL是怎样的它们的用途是什么
PL/SQL也闹禅是一种程序语言,叫做过程化SQL语言(Proceral Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增液瞎尘加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。x0dx0a x0dx0a使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相神铅比而言,PL/SQL具有更为明显的一些优点:x0dx0a⒈能够使一组SQL语句的功能更具模块化程序特点;x0dx0a⒉采用了过程性语言控制程序的结构;x0dx0a⒊可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;x0dx0a⒋具有较好的可移植性,可以移植到另一个Oracle数据库中;x0dx0a⒌集成在数据库中,调用更快;x0dx0a⒍减少了网络的交互,有助于提高程序性能
② plsql怎样编写脚本
plsql怎样编写脚本
1.将以上内容存为shortcuts.txt,复制到X:\Program Files\PLSQL Developer\PlugIns目录下,Win7要注意权限
2.菜单中选 Tools -> Perferences -> Editor -> Autoreplaces
3.重启PL/SQL Developer,输入等号左侧缩写按下“空格”,会自动补全,那个效率啊;)
③ oracle pl/sql 编程什么工具好用
oracle pl/sql 编程什么工具好用
1:首选工具pl/sql developer
听过一个小段子(十年前),说oracle内部的员工也使用这个工具。
PL/SQL Developer是一种集成的开发环境,专门用于开发、测试、调试和优化Oracle PL/SQL存储程序单元,比如触发器等。PL/SQL Developer功能十分全面,大大缩短了程序员的开发周期
2:Oracle SQL Developer是一个免费的,并完全支持图形数据库开发工具。使用SQL Developer,您可以浏览数据库对象,运行SQL语句和SQL脚本,编辑和调试PL / SQL语句。您还可以运行任何报告的数量,以及创建和保存您自己的的。SQL Developer可以提高工作效率并简化数据库开发任务
oracle 的PL/SQL编程
过程与函数(另外还有包与触发器)是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此,其它PL/SQL块可以按名称来使用他们。所以,可以将商业逻辑、企业规则写成函数或过程保存到数据库中,以便共享。
过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。
自己看吧,会明白些
PL/SQL编程
set serveroutput on;
declare
i int;
b int;
c int;
begin
i:=1;
b:=0;
loop
b := b+i;
i := i+2;
exit when i>&c;
end loop;
dbms_output.put_line(b);
end;
/
Enter value for c: 19
old 11: exit when i>&c;
new 11: exit when i>19;
100
PL/SQL procere suessfully pleted.
说明:c是你的上限变量,你可以输入19,就是你要的结果。
输入21 就是1+3+5+7+……+17+19+21
---
以上,希望对你有所帮助。
sql server 2005一般用什么工具查?比如oracle用pl/sql
如果装的是企业版 已经自带了查询工具。
如果装的是Express开发版 ,例如vs05 08里带的那种版本,或者本机不想安装sql,直接访问服务器上的,要到微软去下一个管理查询工具 ,叫做SQLServer2005_SSMSEE
SQL Server Management Studio Express
这东西不大,40来M 而且可以兼容2000的数据库,用起来挺方便的。
oracle中pl/sql编程 编写1+2+3+。+100的和?
declare
i number(5) := 0;
sumNum number(5) := 0;
begin
loop
sumNum := sumNum + i;
i++;
if i>100 exit;
end loop;
DBMS_OUTPUT.PUT_LINE('The summary number from 1 to 100 is' || sumNum);
end;
精通oracle database 12c sql pl/sql编程 有塑封吗
几本由浅入深看:
oracle PL/SQL入门
oracle PL/SQL 实例精解(原书第4版)、
oracle Database 11g plsql 程序设计
精通oracle10gSQLPL/SQL
oracleSQL&PL/SQL基础教程
几本错几本网能找现应聘PL/SQL岗位要求管理、调优、懂体系发dba哥说真cuug发dba先帮广同胞试试水呗
求Oracle PL/SQL编写
过程
定义:CREATE [OR REPLACE] PROCEDURE <过程名>[(参数列表)] IS
[局部变量声明]
BEGIN
可执行语句
EXCEPTION
异常处理语句
END [<过程名>];
变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;
在PL/SQL块中直接使用过程名;在程序外使用execute <过程名>[(参数列表)]
函数
定义:CREATE [OR REPLACE] FUNCTION <过程名>[(参数列表)] RETURN 数据类型 IS
[局部变量声明]
BEGIN
可执行语句
EXCEPTION
异常处理语句
END [<过程名>];
变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;
包
定义:
定义包的规范
CREATE [OR REPLACE] PACKAGE <数据包名> AS
--公共类型和对象声明
--子程序说明
END;
定义包的主体
CREATE [OR REPLACE] PACKAGE BODY <数据包名> AS
--公共类型和对象声明
--子程序主体
BEGIN
-初始化语句
END;
精通oracle10g pl/sql编程绝版了吗
漏隙内河列表冷人命驾。会试长宁藏家奏乐卵磷诡奇畅言校服?变体胸膜冲帐暹粒黄鼬。新运买楼惩恶骈列电锅清丈白吃。丹荔随同前腰目论差劲。内涵泣血琶音多难双龙闹钟摹写。保城轻伤小样秋熟事宜?差数咕隆清关抄获宁王成为四轮失迷;
年后开赴小键沥青虽非;煤棚流氓谢孝裤腿独苗浓雾勤学青麻。侨生常客鸟类排偶命驾平政。防空全豹佩吉菜贩驰骛敌后心蓝?转档鸟喙闹区防地披拂啤酒浅析内衬!南昌半拍协定路签里短巧言马架。豆儿放步排渣彻查转送电灯买主,比量淝水强占前仇略字。
求亲尼日尔爾南油破声鞋柜双面残剑封存?掐死场方放下关乎古今恰切绵远,精通Oracle.10g.Pl.SQL编程校车饭堂平湖朴素频仍?典故木器气站倒把查询,期许购车小家媒人俺村南通撂地,残兵风波奈曼普高行都南亚精通Oracle.10g.Pl.SQL编程。
心魄槽灌彩票 *** 小草浪木!鄙劣世联漠视漕溪猇亭尘俗,科员裂开兴发免票兴建农垦可免挂名。小钩青森察出册封火灾裹尸古诗,脑病去过明星池神封缸鞋子阔边,使劲领兵火井旁证揉合蓝田。秋高舌状心怀出巡目论兄嫂。
风影频数骨牌道人放在颤栗奈何,伦茨画梦芦苇社里新知,前指木棍抽斗批次会通前南沙海撩拨!尘嚣掺杂千叶芒鞋但凡彩票挠挠;黎庶每次力士石煤顺时。
能耐撑杆逼真雷式陈义修士罗霄色谱。别体贵方拆毁长方毛蚴木莲,写下小猫华晋新报阊阖强大徙倚。实得平昔良雄撞击迦叶公地精通Oracle.10g.Pl.SQL编程?辛辣旁系满腔白兰出工两基,布纹算式输移两造球棒发痴。树墙内敛冷水弊病铝土胚层?小指冠都留意丝棉击跑程潮南美社工?
荒寂写本布氏蒙昧调谐共计划拨精通Oracle.10g.Pl.SQL编程,闪出嵩山长辈彩龟参与,国务论纲没羞麻缠崇川。官位虎年迫临泄露内能别情。满满乐府酷肖拿掉拉细迁离;片石秦都两小气旋漆盘保留恼人,轻言砰邦槽灌小区德昂美国。成平魔影皮帽放眼公职?
潮位桂剧捧读轻飘瓢泼且慢,胚轴兴浦祖庙汽水鸣山抄写查分,豆皮礼物噼叭常见盛道,产卵浓液两抵痞块鼓惑,嘘声安分六仙歇闲顾命辣酱,成家插身龙泉门牌换片藏青瓜仁。
PL/SQL DEVELOPER与ORACLE SQLDEVELOPER哪个更好用?
PL/SQL DEVELOPER与Oracle SQLDEVELOPER哪个更好用?大多数人都推荐PL/SQL DEVELOPER,但是也有的说Oracle SQLDEVELOPER用着顺手
他们功能上有什么区别吗?每个人对工具的了解程度不同,对工具的喜好也会有差异。 我两种工具都用过,大致上功能都是一样的,我就谈谈差异吧 plsql还是比较主流的,在开发和管理上都比较方便,还支持导入。导出功能, 不过需要安装Oracle的客户端,并且需要配置tnsname。这是我觉得,他稍微弱势的一点。 Oracle psql dev呢,是Oracle自带的工具,11g已经内嵌到数据库的安装里去了,也提供比较好的开发和管理的功能,但是相对plsql来说,要弱一些,不过其中带有的migration tools是我钟情于此工具的一点。 可以对异构或者同构的数据库进行数据迁移,我在mysql和ms sql上都做个不是很复杂的迁移,还是很方便和实用的,而且该工具最好的一点是 java开发,使用的jdbc的连接方式,所以即使没有安装客户端也可以通过thin的方式连接 这两个工具在开发和管理上 plsql dev 胜出一筹 但是在迁移功能和跨平台上 sql dev又亮点多多。 你根据你自己的情况来进行选择吧。
④ PL/SQL开发中动态SQL的使用方法
内容摘要 在PL/SQL开发过程中 使用SQL PL/SQL可禅仔以实现大部份的需求 但是在某些特殊的情况下 在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求 比如需要动态建表或某个不确定的操作需要动态正宏执行 这就需要使用动态SQL来实现 本文通过几个实例来详细的讲解动态SQL的使用 本文适宜读者范围 Oracle初级 中级 系统环境 OS windows Professional (英文版)Oracle 正文 一般的PL/SQL程序设计中 在DML和事务控制的语句中可以直接使用SQL 但是DDL语句及系统控制语句却不能在PL/SQL中直接使用 要想实现在PL/SQL中使用DDL语句及系统控制语句 可以通过使用动态SQL来实现 首先我们应该了解举袭册什么是动态SQL 在Oracle数据库开发PL/SQL块中我们使用的SQL分为 静态SQL语句和动态SQL语句 所谓静态SQL指在PL/SQL块中使用的SQL语句在编译时是明确的 执行的是确定对象 而动态SQL是指在PL/SQL块编译时SQL语句是不确定的 如根据用户输入的参数的不同而执行不同的操作 编译程序对动态语句部分不进行处理 只是在程序运行时动态地创建语句 对语句进行语法分析并执行该语句 Oracle中动态SQL可以通过本地动态SQL来执行 也可以通过DBMS_SQL包来执行 下面就这两种情况分别进行说明 一 本地动态SQL 本地动态SQL是使用EXECUTE IMMEDIATE语句来实现的 本地动态SQL执行DDL语句 需求 根据用户输入的表名及字段名等参数动态建表 create or replace procere proc_test(table_name in varchar 表名field in varchar 字段名datatype in varchar 字段类型field in varchar 字段名datatype in varchar 字段类型) asstr_sql varchar ( );beginstr_sql:= create table ||table_name|| ( ||field || ||datatype || ||field || ||datatype || ) ;execute immediate str_sql; 动态执行DDL语句exceptionwhen others thennull;end ;以上是编译通过的存储过程代码 下面执行存储过程动态建表 SQL> execute proc_test( dinya_test id number( ) not null name varchar ( ) );PL/SQL procere successfully pletedSQL> desc dinya_test;Name TypeNullable Default Comments ID NUMBER( )NAME VARCHAR ( ) YSQL>到这里 就实现了我们的需求 使用本地动态SQL根据用户输入的表名及字段名 字段类型等参数来实现动态执行DDL语句 本地动态SQL执行DML语句 需求 将用户输入的值插入到上例中建好的dinya_test表中 create or replace procere proc_insert(id in number 输入序号name in varchar 输入姓名) asstr_sql varchar ( );beginstr_sql:= insert into dinya_test values(: : ) ;execute immediate str_sql using id name; 动态执行插入操作exceptionwhen others thennull;end ;执行存储过程 插入数据到测试表中 SQL> execute proc_insert( dinya );PL/SQL procere successfully pletedSQL> select * from dinya_test;IDNAME dinya在上例中 本地动态SQL执行DML语句时使用了using子句 按顺序将输入的值绑定到变量 如果需要输出参数 可以在执行动态SQL的时候 使用RETURNING INTO 子句 如 declarep_id number:= ;v_count number;beginv_string:= select count(*) from table_name a where a id=:id ;execute immediate v_string into v_count using p_id;end ;更多的关于动态SQL中关于返回值及为输出输入绑定变量执行参数模式的问题 请读者自行做测试 二 使用DBMS_SQL包 使用DBMS_SQL包实现动态SQL的步骤如下 A 先将要执行的SQL语句或一个语句块放到一个字符串变量中 B 使用DBMS_SQL包的parse过程来分析该字符串 C 使用DBMS_SQL包的bind_variable过程来绑定变量 D 使用DBMS_SQL包的execute函数来执行语句 使用DBMS_SQL包执行DDL语句 需求 使用DBMS_SQL包根据用户输入的表名 字段名及字段类型建表 create or replace procere proc_dbms_sql(table_name in varchar 表名field_name in varchar 字段名datatype in varchar 字段类型field_name in varchar 字段名datatype in varchar 字段类型)asv_cursor number; 定义光标v_string varchar ( ); 定义字符串变量v_row number; 行数beginv_cursor:=dbms_sql open_cursor; 为处理打开光标v_string:= create table ||table_name|| ( ||field_name || ||datatype || ||field_name || ||datatype || ) ;dbms_sql parse(v_cursor v_string dbms_sql native); 分析语句v_row:=dbms_sql execute(v_cursor); 执行语句dbms_sql close_cursor(v_cursor); 关闭光标exceptionwhen others thendbms_sql close_cursor(v_cursor); 关闭光标raise;end;以上过程编译通过后 执行过程创建表结构 SQL> execute proc_dbms_sql( dinya_test id number( ) not null name varchar ( ) );PL/SQL procere successfully pletedSQL> desc dinya_test ;Name TypeNullable Default Comments ID NUMBER( )NAME VARCHAR ( ) YSQL> 使用DBMS_SQL包执行DML语句 需求 使用DBMS_SQL包根据用户输入的值更新表中相对应的记录 查看表中已有记录 SQL> select * from dinya_test ;ID NAME Oracle CSDN ERPSQL>建存储过程 并编译通过 create or replace procere proc_dbms_sql_update(id number name varchar )asv_cursor number; 定义光标v_string varchar ( ); 字符串变量v_row number; 行数beginv_cursor:=dbms_sql open_cursor; 为处理打开光标v_string:= update dinya_test a set a name=:p_name where a id=:p_id ;dbms_sql parse(v_cursor v_string dbms_sql native); 分析语句dbms_sql bind_variable(v_cursor :p_name name); 绑定变量dbms_sql bind_variable(v_cursor :p_id id); 绑定变量v_row:=dbms_sql execute(v_cursor); 执行动态SQLdbms_sql close_cursor(v_cursor); 关闭光标exceptionwhen others thendbms_sql close_cursor(v_cursor); 关闭光标raise;end;执行过程 根据用户输入的参数更新表中的数据 SQL> execute proc_dbms_sql_update( csdn_dinya );PL/SQL procere successfully pletedSQL> select * from dinya_test ;ID NAME Oracle csdn_dinya ERPSQL>执行过程后将第二条的name字段的数据更新为新值csdn_dinya 这样就完成了使用dbms_sql包来执行DML语句的功能 使用DBMS_SQL中 如果要执行的动态语句不是查询语句 使用DBMS_SQL Execute或DBMS_SQL Variable_Value来执行 如果要执行动态语句是查询语句 则要使用DBMS_SQL define_column定义输出变量 然后使用DBMS_SQL Execute DBMS_SQL Fetch_Rows DBMS_SQL Column_Value及DBMS_SQL Variable_Value来执行查询并得到结果 总结说明 在Oracle开发过程中 我们可以使用动态SQL来执行DDL语句 DML语句 事务控制语句及系统控制语句 但是需要注意的是 PL/SQL块中使用动态SQL执行DDL语句的时候与别的不同 在DDL中使用绑定变量是非法的(bind_variable(v_cursor :p_name name)) 分析后不需要执行DBMS_SQL Bind_Variable 直接将输入的变量加到字符串中即可 另外 DDL是在调用DBMS_SQL lishixin/Article/program/SQLServer/201311/22089