游标

使用游标把多张表的数据插入同一张表中的一个例子

谁都会走 提交于 2019-12-02 06:41:44
declare @t varchar(1000) declare @s varchar(2000) declare @id int DECLARE @table_name varchar(2000) DECLARE cursor1 CURSOR FOR --定义游标cursor1 SELECT name FROM (select name from sysobjects where xtype='U' and name not like '%d%' and name not like '[A-Z]%' and name not like '[a-z]%') t -- 筛选出不含有字母d和以字母开头的表名 OPEN cursor1 --打开游标 FETCH NEXT FROM cursor1 INTO @table_name WHILE @@FETCH_STATUS=0 --判断是否成功获取数据 BEGIN set @t='insert into BigTable_copy1(name,table_id) select name='''+@table_name+'''' set @s=@t+', id from '+ @table_name +' where is_delete=0 ' exec (@s) FETCH NEXT FROM cursor1 INTO @table

Oracle的存储过程基本写法

扶醉桌前 提交于 2019-12-02 05:43:50
转: Oracle的存储过程基本写法 目录 1.1,Oracle存储过程简介:  1.2,创建存储过程的语法: 2.0,游标的使用。看到的一段解释很好的概念,如下: 回到顶部 1.1,Oracle存储过程简介:     存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作, 减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 优点: 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。 允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。 减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。 1.2,创建存储过程的语法: 1 CREATE OR REPLACE PROCEDURE 存储过程名( param1 IN TYPE, param2 OUT TYPE) 2 AS 3 变量 1 类型(值范围);--a_dov varchar(100) 4 变量 2 类型(值范围); 5 BEGIN 6 SELECT count( * ) INTO 变量 1 FROM 表 A WHERE 列名 = param1; -

Oracle数据库学习笔记

青春壹個敷衍的年華 提交于 2019-12-02 02:03:34
一、DDL数据库定义语言 1、表空间 创建表空间: create tablespace bkjname --表空间名称 datafile 'E:\bkjname.dbf' --文件存放的路径 size 100m --大小 autoextend on --自动扩展 next 10m --每次扩展的大小 表空间是一个逻辑单位。 删除表空间: drop tablespace bkjname;    --只删除逻辑关系,本地的表空间文件需要手动删除 2、用户 创建用户: create user yh --用户名 identified by yh --密码 default tablespace bjkname; --表空间 给用户授权: --grant 角色 | 权限 to yh grant connect to yh; --赋予连接登录的权限 grant dba to yh; --最高权限dba grant resource to yh; --通常给开发人员授权resource 3、表 创建表 create table 表名( 列名 列的类型(列的约束), 列名 列的类型(列的约束) ); 列的类型 varchar:在Oracle中目前支持,但不保证以后还支持 varchar2(长度):可变字符长度 char(长度):固定字符长度 number(总长度,小数长度):数字类型

Linux vim常用命令

自作多情 提交于 2019-12-01 22:12:25
Linux vim常用命令 什么是 vim? Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。 连 vim 的官方网站 ( http://www.vim.org ) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 vim 键盘图: vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是 命令模式(Command mode) , 输入模式(Insert mode) 和 底线命令模式(Last line mode) 。 这三种模式的作用分别是: 命令模式: 用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。 以下是常用的几个命令: i 切换到输入模式,以输入字符。 x 删除当前光标所在处的字符。 : 切换到底线命令模式,以在最底一行输入命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。 输入模式 在命令模式下按下i就进入了输入模式。 在输入模式中

efsdfsd

青春壹個敷衍的年華 提交于 2019-12-01 21:31:30
01 da.SearchCursor 只读查看表或要素类数据。 02 da.InsertCursor 向表或要素类插入行。 03 da.UpdateCursor 编辑或删除表和要素类行。 04 SearchCursor 用于在要素类或表上建立只读游标。 05 InsertCursor 向要素类、shapefile 或表中插入行。 06 UpdateCursor 创建一个用于更新或删除指定要素类、shapefile 和表中的行的游标。 序号 函数名称 功能说明 语法 & 举例 以下是 arcpy.da.SearchCursor、arcpy.da.InsertCursor、arcpy.da.UpdateCursor 01 da.SearchCursor ==== <<<< Description >>>> ==== SearchCursor 用于建立从要素类或表中返回的记录的只读访问权限。 返回一组迭代的元组。元组中值的顺序与 field_names 参数指定的字段顺序相符。使用 For 循环可迭代搜索游标。 ---------------------------------------------------------------------------------- ==== <<<< Syntax >>>> ==== da.SearchCursor (in_table,

PHP PDO预定义常量

纵饮孤独 提交于 2019-12-01 19:02:34
以下常量由本扩展模块定义,因此只有在本扩展的模块被编译到PHP中,或者在运行时被动态加载后才有效。 注意: PDO使用类常量自PHP 5.1。以前的版本使用的全局常量形式PDO_PARAM_BOOL中。 PDO::PARAM_BOOL (integer) 表示布尔数据类型。 PDO::PARAM_NULL (integer) 表示 SQL 中的 NULL 数据类型。 PDO::PARAM_INT (integer) 表示 SQL 中的整型。 PDO::PARAM_STR (integer) 表示 SQL 中的 CHAR、VARCHAR 或其他字符串类型。 PDO::PARAM_LOB (integer) 表示 SQL 中大对象数据类型。 PDO::PARAM_STMT (integer) 表示一个记录集类型。当前尚未被任何驱动支持。 PDO::PARAM_INPUT_OUTPUT (integer) 指定参数为一个存储过程的 INOUT 参数。必须用一个明确的 PDO::PARAM_* 数据类型跟此值进行按位或。 PDO::FETCH_LAZY (integer) 指定获取方式,将结果集中的每一行作为一个对象返回,此对象的变量名对应着列名。PDO::FETCH_LAZY 创建用来访问的对象变量名。在 PDOStatement::fetchAll() 中无效。 PDO::FETCH

sqlite3 数据库创建表

元气小坏坏 提交于 2019-12-01 16:31:10
# coding=utf-8"""1.导入模块sqlite32.创建连接 sqlite3.connect()3.创建游标对象4.编写创建表的sql语句5.执行sql6.关闭连接"""import sqlite3# 创建连接con = sqlite3.connect("E:/sqlite3Demo/demo.db")# 创建游标对象cur = con.cursor()# 创建sql语句sql = '''create table t_person( pno INTEGER primary key autoincrement , pname VARCHAR not null , age INTEGER )'''# 执行sql语句try: cur.execute(sql) print("创建表成功")except Exception as e: print(e) print("创建表失败")finally: # 关闭游标 cur.close() # 关闭连接 con.close()# 这个连接数据库并创建表的方法和传统的JDBC方式较为相似 很容易理解 来源: https://www.cnblogs.com/walxt/p/11693203.html

存储过程

心不动则不痛 提交于 2019-12-01 12:14:18
存储过程语法   创建过程 无参 create or replace procedure NoParPro as //声明 ; begin // 执行 ; exception//存储过程异常 ; end; 带参 create or replace procedure queryempname(sfindno emp.empno%type) //%type表示参数属性与表emp的empno字段一样 as sName emp.ename%type; sjob emp.job%type; begin .... exception .... end; 带参并赋值 create or replace procedure runbyparmeters (isal in emp.sal%type, sname out varchar, sjob in out varchar) as icount number; begin select count(*) into icount from emp where sal>isal and job=sjob; if icount=1 then .... else .... end if; exception when too_many_rows then DBMS_OUTPUT.PUT_LINE('返回值多于1行'); when others then

MongoDB使用固定集合

♀尐吖头ヾ 提交于 2019-12-01 09:56:44
MongoDB中的固定集合:大小是固定的,类似于循环队列,如果没有空间了,最老的文档会被删除以释放空间,新插入的会占据这块空间。 1、固定集合(oplog) oplog 是一个典型的固定集合,因为其大小的显示,可以用来短暂的恢复部分数据。 需要使用显示的创建方式 db.createCollection('my_collection', {"capped":true, "size": 100000}) 此命令创建一个名为my_collection,大小为100000字节的固定集合。 此外还可以定义集合中的文档数量 db.createCollection("my_collection2", {"capped": true, “size”:100000, "max": 100}); 固定集合创建之后就不能改变,如果需要修改固定集合的属性,只能将它删除之后再重建 为固定集合指定文档数量限制时,必须同时指定固定集合的大小,不管先达到哪一个限制,之后插入的新文档就会把最老的文档挤出集合:固定集合的文档数量不能超过文档数量限制,固定集合的大小也不能超过大小限制。 创建固定集合时,还有另一个选项,可以将已有的某个常规集合转换为固定集合,可以使用 convertToCapped 命令实现。 db.runCommand({'convertToCapped': 'test', 'size': 10000

过滤器链调用原理

蹲街弑〆低调 提交于 2019-12-01 09:53:22
过滤器中起关键作用的2个类:ApplicationFilterConfig、ApplicationFilterChain ApplicationFilterConfig implements FilterConfig, Serializable ApplicationFilterChain implements FilterChain package org.apache.catalina.core;这2个类的包都在org.apache.catalina.core这个保中,说明是有tomcat容器来管理过滤器链的。 ApplicationFilterChain 的作用是将一个个分散的过滤器组织起来,它里面有一个数组来保存ApplicationFilterConfig,还有一个过滤器游标,来记录当前过滤器走到哪儿了。 ApplicationFilterChain类中有一个ApplicationFilterConfig[]数组用来保存一系列过滤器,pos用来保存当前过滤器位置。 ApplicationFilterChain中有2个重要的方法:doFilter和internalDoFilter  doFilter方法中调用了internalDoFilter方法,中间增加了一些安全策略。internalDoFilter方法调当前pos指向的过滤器链中的某一个filter的doFilter