select count(virtualacc) into v_count  from T_ATMMONITOR WHERE virtualacc = v_number;

用于存储过程中,是把count(virtualacc)统计的数量值赋予变量v_count,在后续的存储过程中调用v_count变量。

在sql语句中

select into from与insert into select 区别

语法:

insert into table2(field1,field2,。。。)select value1,value2,。。。from table1

要求table2必须存在

truncate,delete,drop三者的区别

1.truncate与不带where条件的delete意义一样,删除全部行的内容

2.truncate删除表内容,释放空间,执行速度快,保留表结构

delete 删除表内容,不释放空间,保留表结构

drop删除表内容和表机构,释放空间

table2存在,可以向table2加入符合列类型的内容,包括常量,注意,导入常量后,该列的所有值都是常量,如图所示

insert into T_ATMMONITOR (
     ATMNUM
    ,VIRTUALACC
    ,CORPID
    ,INVMONEY
    ,DAYMONEY
    ,DATAGETTIME
    ,CUTOFFMONEY
    ,CUTOFFTIME
   ) select atmnum, v_number, corpid, v_now_money, v_out_money, current TIMESTAMP, 0, current TIMESTAMP
    from t_atminfo where VIRTUALACC = v_number;

注意在t_atminfo表中不存在v_now_money,v_out_money,0这样的字段值,这些可以作为常量插入到t_atmmonitor

select into from语句

语法

select value1,value2 into table2 from table1

select ID,Name into table1 from table2

要求table2不存在,因为在插入的时候,系统自动创建table2,如果之前table2已经存在,系统提示表已经存在

那如果我想要MyTable2中的Name列,那我也仅仅是需要把Name列select出来,然后添加到新表中即可。

replace函数

replace(c1,c2[,c3])

在字符串c1中找到字符串c2,替换成c3.

若c3为空,则在c1中删除所有c2.
replace('123123tech', '123');	would return 'tech'
replace('123tech123', '123'); would return 'tech'
replace('222tech', '2', '3'); would return '333tech'
replace('0000123', '0'); would return '123'
replace('0000123', '0', ' '); would return ' 123'
nvl函数
if else 类似

nvl(str,1)

if str ==null
return 1;
else return str;
coalesce函数
语法  COALESCE ( expression [ ,...n ] )

返回表达式中第一个非空表达式,如有以下语句: 

  SELECT COALESCE(NULL,NULL,3,4,5) FROM dual
  其返回结果为:3
case when的用法
在储存过程中,这句是什么意思SUM(CASE WHEN ISNULL(A.ReceiveQty,0)>0 THEN 1 ELSE 0 END) AS SumReceiveRolls,
A表里ReceiveQty大于0,值为1,否则为0,
然后把这些1,0加起来,当成一列(SumReceiveRolls)查询出来。
case coalesce(c.limit, 1) when 0 then 1 else c.limit end
coalesce函数是去null的,如果c.limit值不为null,则coalesce(c.limit,1)就是c.limit本身值

DB2查询表中前10条记录
select * from t_user where corpid='901010300' order by userid desc fetch first N rows only
oracle数据库查询
select * from t_user where rownum<=10
timestamp数据类型查询语句
select * from t_authlog where to_char(logtime ,'yyyymmdd hh24:mi:ss')>'20150316 23:59:59'
存储过程解析

SELECT count(PLANNUM) into v_count FROM T_CASHREPNPLAN where CORPID = v_corpid and plannum = v_plannum and PLANSTATE = '04';

注:count(plannum)转换成into v_count的变量

if v_count = 0 then  注:如果这个变量统计为0,显示97
  set v_ret = '97';
  goto GOTO_RET;
 end if;


数据库字段是timestamp类型,查询区间的数据
select * from t_authlog where logtime between timestamp('2015-3-18 10:10:10') and timestamp('2015-3-19 15:40:20') 表中增加列,并限定默认字段的值
alter table t_warning add column overdue char(1) with default '0';
查询当前日期的数据
db2 => select * from t_compinvmonitor where date(gettime) = current date

存储过程sql语句的更多相关文章

  1. 一次性删除数据库所有表和所有存储过程 SQL语句

    一次性删除数据库所有表和所有存储过程 SQL语句 今天转移数据库数据,需要把数据库原来的表和存储过程清空.删除所有的表:如果由于外键约束删除table失败,则先删除所有约束: --/第1步****** ...

  2. 基于ORACLE建表和循环回路来创建数据库存储过程SQL语句来实现

    一个.概要 在实际的软件开发项目.我们经常会遇到需要创造更多的相同类型的数据库表或存储过程时,.例如.假设按照尾号点表的ID号,然后,你需要创建10用户信息表,的用户信息放在同一个表中. 对于类型同样 ...

  3. SQL语句练习手册--第四篇

    一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 ) DECLARE @id int (2)为变量赋值 SET @变量名 =值 --set用于普通的赋值 SE ...

  4. MySQL存储过程动态SQL语句的生成

    用Mysql存储过程来完成动态SQL语句,使用存储过程有很好的执行效率: 现在有要求如下:根据输入的年份.国家.节假日类型查询一个节假日,我们可以使用一般的SQL语句嵌入到Java代码中,但是执行效率 ...

  5. Entity Framework Code First执行SQL语句、视图及存储过程

    1.Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table ...

  6. SQL存储过程分页(通用的拼接SQL语句思路实现)

    多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...

  7. sql存储过程比sql语句执行慢很多

    参数嗅探的问题 原因:(1)可能是发生了参数嗅探,第一次赋给存储过程的输入参数,会为该存储过程生成一个基于输入参数的执行计划,因此如果第一次输入的参数不具有代表性(例如大部分查询输入的参数都是A值,但 ...

  8. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  9. SQL 语句调用这个存储过程,生成顺序编码

    一直很讨厌存储过程,没想到今天帮了我大忙啊,或许会因为今天让我慢慢喜欢上存储过程吧,不多说了,切入正题 在使用数据库的时候,难免要在使用过程中进行删除的操作,如果是使用int类型的字段,令其自增长,这 ...

随机推荐

  1. hdu 2188 选拔志愿者(sg博弈)

    Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理 ...

  2. Recursive - leetcode [递归]

    经验tips: Recursion is the best friend of tree-related problems. 一是只要遇到字符串的子序列或配准问题首先考虑动态规划DP,二是只要遇到需要 ...

  3. 线性规划?数学?差分约束?Good Bye 2016 C

    http://codeforces.com/contest/750/problem/C 反正我不会这道题...为什么那么多人做出来了...我好菜.jpg 题目大意:cf每个人都有分数,每次都会在div ...

  4. iframe标签使用总结与注意问题

    子页面访问父父页面变量,函数,页面元素 //变量: //在父页面中需定义为全局变量 //子页面中调用 var childFrameVar= parent.ParentVarName; //函数: pa ...

  5. 关于ajax后台success传来json数据的问题

    最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简单进 ...

  6. Android非常有用的开源库介绍整理

    Android开源库 自己一直很喜欢Android开发,就如博客副标题一样,我想做个好的App. 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 ...

  7. android 一些数据转换方法

    android 一些数据转换方法 package com.ai9475.util; import android.content.Context; import android.content.res ...

  8. log设置

    1.log的设置方式 .在 runtime setting中可以设置log的生成方式:默认的log方式:Enable logging选中,log option是Send messages only w ...

  9. 拉钩网爬取所有python职位信息

    最近在找工作,所以爬取了拉钩网的全部python职位,以便给自己提供一个方向.拉钩网的数据还是比较容易爬取的,得到json数据直接解析就行,废话不多说, 直接贴代码: import json impo ...

  10. js--时钟(图片)

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...