一.PL/SQL记录 定义: TYPE <类型名> IS RECORD <列名1 类型1,列名2 类型2,...列名n 类型n,> [NOT NULL] <列的类型>可以为Oracle的数据类行以及用户自定义类型;可以是记录类型的嵌套. 二.PL/SQL表 定义: TYPE <类型名> IS TABLE OF <列的类型> [NOT NULL] INDEX BY BINARY_INTEGER; <列的类型>可以为Oracle的数据类行…
在PL/SQL代码块中使用select into 赋值的话,有可能返回的是一个结果集.此时,如果使用基本类型或自定义的记录类型,将会报错. 因此,需要定义一个变量,是某种类型的集合.下面以一个基于表的行类型的集合为例简单介绍一下(相信基本类型同理吧). DECLARE CURSOR cur_tx IS SELECT GKEY from t ; SUBTYPE TX_TYPE IS t%ROWTYPE ; -- 定义类型 TYPE TX_TAB IS TABLE OF TX_TYPE;--定义新类…
sql查询重复记录,使用: select * from dimappnamenew as appn where id in ( select id from dimappnamenew group by packagename,storename,app_name having count(*)>1 ) id是表的主键,三个属性映射后可以唯一对应id这个列,所以用id就行了. 在做其他查询时,认真分析表内容,如果查询多个字段可以唯一对应一个字段,直接用这个字段作为外部对比,会加快效率.是…
平时用的比较多的SQL语句,有时候会忘掉一点点,在这里记录一下: 1.创建表的同时,插入数据: create table test as select generate_series(1, 1000000) as id, cast(random() as text) as info , now() as crt_time; mydb=# create table test as select generate_series(1, 1000000) as id, cast(random() as…
----------2017-01-03 21:56:56---------- --字符串分隔 start------------- use LDSQL GO CREATE function [dbo].[split] ( ), ) ) ,),col )) as begin --分别定义了 目前位置,分隔符开始和字符串长度和,当前获取的字符串 ),@mingzhong int set @str_leg=len(@str) while(@posi<=@str_leg) begin ) if(@gc…
.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select*from people where peopleIdin (select peopleIdfrom peoplegroupby peopleIdhaving ) .删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 deletefrom people where peopleIdin (select peopleIdfrom peoplegroupby pe…
仅支持SQL SERVER2008及以上版本 --创建时间 QS.creation_time, --执行文本 ST.text FROM sys.dm_exec_query_stats QS --关键字 CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST WHERE QS.creation_time BETWEEN '2019-02-03 09:00:00' AND '2019-02-03 16:11:00' AND ST.text NOT LIK…
PL/SQL函数 PL/SQL函数与过程相同,不同之处在于函数有一个返回值.因此,前面的章节中的所有讨论都适用于函数. 创建函数 建立一个独立函数可以使用CREATE FUNCTION语句创建.CREATE OR REPLACE PROCEDURE语句简化语法如下: CREATE [OR REPLACE] FUNCTION function_name [(parameter_name [IN | OUT | IN OUT] type [, ...])] RETURN return_datatyp…
PL/SQL EXIT语句 在PL/SQL编程语言中,EXIT语句有以下两种用法: 当循环中遇到EXIT语句循环立即终止,程序控制继续下一个循环语句后面. 如果使用嵌套循环(即一个循环内的另一个循环),EXIT指令将停止最内层循环的执行,并开始执行的下一行代码的程序段之后. 语法: 在PL/SQL EXIT语句的语法如下: EXIT; 流程图: 例如: DECLARE a number(2) := 10; BEGIN -- while loop execution WHILE a < 20…