sql存储过程算法
MSSQL执行 : exec proc_NAME
ORACLE :
begin
proc_NAME;
commit;
end;
1.求素数
MSSQL;
CREATE proc [dbo].[EXEC003] as
declare @num int;
begin
set @num = ;
while (@num > )
BEGIN
IF(@num % = )
BEGIN
PRINT(@NUM);
END
SET @num -= ;
END
end
ORACLE:
create or replace procedure EXEC003 as
List int := ;
begin while( List > ) loop
if mod(List,) = then
Dbms_Output.put_line(List);
end if;
List := List - ;
end loop;
end; --测试
begin exec003 ;
commit;
end;
2.费布拉切数列
MSSQL
alter proc Exec004
as
declare @num int;
declare @Sum int;
declare @min int;
declare @max int;
declare @curr int;
set @num = ;
set @min = ;
set @max = ;
set @curr = ;
set @Sum = ;
--、、、、、、、
begin
if( @num = )
begin
set @max = ;
end
else if (@num = )
begin
set @max = ;
end
else
begin
while ( @curr <= @num )
begin
set @Sum = @max + @min;
set @min = @max;
set @max = @Sum;
set @curr += ;
end
end
print( @max);
end
ORACLE
create or replace procedure Exec004
as
curr int := ;
max1 int := ;
min1 int := ;
sum1 int := ;
num int := ;
begin
if(num = ) then
begin
sum1 := ;
end;
elsif ( num = ) then
begin
sum1 := ;
end;
else
while( curr <= num ) loop
sum1 := max1 + min1;
min1 := max1;
max1 := sum1;
curr := curr + ;
end loop;
end if;
DBMS_OUTPUT.PUT_LINE(sum1);
end;
3.判断表是否10列,有10列则打出制定列数
MYYSQL
alter proc forEachData(@num int) as
declare @curr int;
declare @temId varchar();
begin
set @curr = ;
if( (select COUNT(*) from jcms_module_article ) > )
begin
print('this number gt 10');
while(@curr <@num)
begin
select @temId = m.Title from ( select ROW_NUMBER() OVER (ORDER BY Id) rn,Title from jcms_module_article t) m where m.rn = @curr;
print( Convert( varchar(), @curr) + ':' + @temId);
set @curr += ;
end
end
else
print('this number lt 10');
end
ORACLE
create or replace procedure forEachData(num in out int) as
curr int := ;
temValue varchar();
countNum int; begin
select count( *) into countNum from cod_biz_codes;
if( curr <= ) then
begin
Dbms_Output.put_line('is number gt 10'); while( curr <= num ) loop
select t.doc_spec into temValue from ( select row_number() over( order by doc_type) rn , DOC_SPEC from cod_biz_codes ) t where t.rn = curr ;
Dbms_Output.put_line( curr || ','|| temValue);
curr := curr + ;
end loop;
end;
else
DBMS_OUTPUT.put_line('is number lt 10');
end if;
end; /*
测试:
declare num int := 10;
begin
forEachData(num);
end; */
sql存储过程算法的更多相关文章
- 分页sql存储过程算法
/****** Object: StoredProcedure [dbo].[PRO_Pub_FenYe] Script Date: 08/04/2014 11:14:22 ******/ SET A ...
- PL/SQL存储过程编程
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...
- SQL存储过程分页(通用的拼接SQL语句思路实现)
多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...
- SQL存储过程的调用及写法
调用函数: public class SqlProcess { ; public DataSet ReturnSet = null; public SqlDataAdapter adapter = n ...
- sql存储过程几个简单例子
导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解. 例1: cr ...
- SQL存储过程生成顺序编码
一.第一种方式 USE [WJKC]GO/****** Object: StoredProcedure [dbo].[Address_GetCode1] Script Date: 2016/3 ...
- SQL 存储过程入门(事务)(四)
SQL 存储过程入门(事务)(四) 本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...
- 在SQL存储过程中给条件变量加上单引号
在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) ), )), )+ ...
- SQL存储过程概念剖析
一.SQL存储过程的概念,优点及语法 定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execut ...
随机推荐
- cocos2d-js 遮挡层(禁止触摸事件传递层)
在游戏中,我们经常会碰到一些弹窗,这些弹窗禁止点透,也就是禁止触摸事件传递到底层,我们称之为遮挡层,这些遮挡层,需要开发遮挡层,我们首先得了解cocos2d-js的触摸传递机制,本文主要针对cocos ...
- Response.Redirect & window.location.href
对接中信的微信H5支付时,对方(其实是微信)需要对我们的域名进行授权,即,我方需向渠道报备支付域名,微信只认可由此域名发起的支付交易. 支付中心只提供了一套支付接口供下游系统访问.因为给渠道报备的域名 ...
- python3学习笔记之安装
一.Python安装 1.下载地址: https://www.python.org/downloads/release/python-365/ 2. Linux系统自带Python2.7,如需安装3 ...
- jQuery-切换事件2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 不用ajax实现异步请求:XmlHttpRequest 小记
视图页面代码 控制器代码
- linux中使用另一用户打开拥有图形界面的程序
在archlinux中使用oracle用户执行oui无法显示图形界面的问题.结果没解决,后来发现执行 xhost +si:localuser:oracle, 然后再使用oracle用户执行oui即可. ...
- c++将lambda作为callback函数
想用c++发送http_post请求,用到了libcurl. 想将其包装一下,因为默认http的响应结果是打印到stdout的,如果想将响应结果另外处理,需要自己定义一个callback函数. 考虑到 ...
- git起步
关于版本控制 什么是版本控制?为什么要版本控制? 版本控制是记录文件内容变化,以便在将来查阅特定版本的系统.有了版本控制,我们就可以将某个文件或是整个项目回退到之前的某个时间段,查看现在和之前相比项目 ...
- 09 查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素
li = ["alex"," aric","Alex","Tony","rain"]for i in ...
- 【转】推荐4个不错的Python自动化测试框架
之前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试用例.假设(assumptions).脚本和技术来运行每一 ...