sql存储过程

PL/SQL --> 函数

青春壹個敷衍的年華 提交于 2020-02-09 15:04:37
--================== -- PL/SQL --> 函数 --================== 函数通常用于返回特定的数据。其实质是一个有名字的 PL / SQL 块,作为一个 schema 对象存储于数据库,可以被反复执行。函数通常被作为 一个表达式来调用或存储过程的一个参数,具有返回值。 一、建立函数的语法 CREATE [ OR REPLACE ] FUNCTION function_name ( argument1 [mode1] datatype1 , argument2 [mode2] datetype2 , ...) RETURN datatype IS | AS [local_variable_declarations;...] BEGIN --actions; RETURN expression ; END [function_name] ; 建立函数的几点注意事项 1. 指定参数数据类型时 (argument) ,不能指定其长度 2. 函数头部必须指定 return 子句,函数体内至少要包含一条 return 语句 3. 可以指定 in 参数,也可以指定 out 参数,以及 in out 参数 4. 可以为参数指定缺省值。指定缺省值时使用 default 关键字。如 arg1 varchar2 default 'SCOTT' 二

SQL SERVER C#数据库操作类

我们两清 提交于 2020-01-30 10:03:56
1 using System; 2 using System.Collections; 3 using System.Collections.Specialized; 4 using System.Data; 5 using System.Data.SqlClient; 6 using System.Configuration; 7 8 namespace SQLServerDAL // 可以修改成实际项目的命名空间名称 9 { 10 /**/ /**/ /**/ /// <summary> 11 /// Copyright (C) 2004-2008 LiTianPing 12 /// 数据访问基础类(基于SQLServer) 13 /// 用户可以修改满足自己项目的需要。 14 /// </summary> 15 public abstract class DbHelperSQL 16 { 17 // 数据库连接字符串(web.config来配置) 18 // <add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=" /> 19 protected static string connectionString = ConfigurationSettings

C#使用ODP.NET(Oracle.ManagedDataAccess.dll)操作Oracle数据库

天涯浪子 提交于 2020-01-30 09:53:15
在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了。在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的。 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedDataAccess.dll进行本文的重点呢? 1、visual studio中提醒过时,因为微软和甲骨文存在数据库的竞争关系,并且从.NET的更新来看这个程序集没有再更新过,对于数据库一直在更新而调用的程序集一直不更新敢用下去么?还有一个我认为非常重要的原因就是使用这个程序集,摆脱不了每一个运行程序的客户机上都要去安装Oracle客户端的事实,试想一下,如果用户数量巨大的时候,安装客户端的工作量就相当的大,很耗费资源; 2、甲骨文后来出了ODP.NET,各种资料以及官网上都说需要安装ODP.NET,然后引用Oracle.ManagedDataAccess.dll,他和visual studio中的程序集最大的区别在于会随着数据库更新,是oracle官方出的驱动; 3、其实经过测试,ODP.NET的安装完全是没有必要的,直接在网上下载一个Oracle

查询数据库中表或视图或存储过程的数量 sql 语句

纵然是瞬间 提交于 2020-01-28 02:16:42
如果一个数据库中表的数量较多的话,那么在统计数据库中表的数量或视图或存储过程的数量时,如果还有一个一个去数,那就太麻烦了,其实可以通过 sql 语句来查询的,sql 语句的查询方法如下: sql server : select count(1) from sysobjects  where xtype='U' 数据表 select count(1) from sysobjects where xtype='V' 视图 select count(1) from sysobjects where xtype='P' 数存储过程 具体参数含义: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程 来源: https://www.cnblogs.com/wisdo/p/4842046.html

SQL Server2008从入门到精通pdf

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 10:38:08
下载地址: 网盘下载 内容介绍 编辑 《SQL Server 从入门到精通》从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细地介绍了SQLServer2008开发应该掌握的各方面技术。全书共分15章,包括数据库基础、初识SQLServer2008、管理SQLServer2008、创建与管理数据库、操作数据表与视图、维护SQLServer2008、T—SQL概述、SQL数据语言操作、SQL数据查询、存储过程和触发器、索引与数据完整性、游标的使用、SQL函数的使用、SQL中的事务、基于C#的企业ERP管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会SQLServer2008的精髓,快速提高开发技能。   第1篇 基 础 知 识   第1章 数据库基础 3   视频讲解:25分钟   1.1 数据库系统简介 4   1.1.1 数据库技术的发展 4   1.1.2 数据库系统的组成 4   1.2 数据库的体系结构 5   1.2.1 数据库三级模式结构 5   1.2.2 三级模式之间的映射 5   1.3 数据模型 6   1.3.1 数据模型的概念 6   1.3.2 常见的数据模型 6   1.3.3 关系数据库的规范化 7   1.3.4 关系数据库的设计原则 7   1.3.5 实体与关系 8   1.4

SQL Server 数据库性能优化

不想你离开。 提交于 2020-01-19 03:23:02
1. 查看执行时间和cpu set statistics time on select * from Bus_DevHistoryData set statistics time off 执行后在消息里可以看到 2. 查看查询对I/O的操作情况 set statistics io on select * from Bus_DevHistoryData set statistics io off 执行之后的结果: 扫描计数:索引和表执行次数 逻辑读取:数据缓存中读取的页数 物理读取:从磁盘中读取的页数 预读:查询过程中,从磁盘放入缓存的页数 lob逻辑读取:从数据缓存中读取image、text、ntext或大型数据的页数 lob物理读取:从磁盘中读取image、text、ntext或大型数据的页数 lob预读:查询过程中,从磁盘放入缓存的image、text、ntext或大型数据的页数 如果物理读取次数和预计次数比较多,可以使用索引进行优化。 上述两种信息的查看如果不想写sql,可以通过设置完成: 工具->选项 3. 查看执行计划 选中查询语句,点击 一、数据库设计优化 1、不要使用游标。 使用游标不仅占用内存,而且还用不可思议的方式锁定表,它们可以使DBA所能做的一切性能优化等于没做。游标里每执行一次fetch就等于执行一次select。 2、创建适当的索引

SQL常见的一些面试题

大城市里の小女人 提交于 2020-01-16 01:10:05
SQL常见的一些面试题(太有用啦) SQL常见面试题 1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 A: select distinct name from table where name not in (select distinct name from table where fenshu<=80) select name from table group by name having min(fenshu)>80 学生表 如下: 自动编号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 0001 数学 89 3 2005001 张三 0001 数学 69 删除除了自动编号不同, 其他都相同的学生冗余信息 A: delete tablename where 自动编号 not in(select min( 自动编号) from tablename group by学号, 姓名, 课程编号, 课程名称, 分数) 3.一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对

SQL SERVER 分页查询存储过程

核能气质少年 提交于 2020-01-14 09:56:52
/****** Object: StoredProcedure [dbo].[usp_selectbypage] Script Date: 01/14/2020 07:51:42 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[usp_selectbypage] @tablename varchar(10), @columnname varchar(10), @page varchar(5), ---页数 @pagecount varchar(5), --每页行数 @recordcount int output,--总的记录的条数 @pageamount int output --总页数 as begin declare @strsql nvarchar(255) set @strsql = 'select * from ( select ROW_NUMBER() over (order by ' + @columnname + ' desc) as rowid,* from ' + @tablename + ') t where t.rowid >=(('+@page+'-1)*'+@pagecount+'+1) and t.rowid <= ('+@page+'*'+

C++builder调用存储过程

不问归期 提交于 2020-01-11 19:25:39
TDateTime dt; if(pSocka->Receive(&dt,sizeof(dt)) <= 0) return false; char szStationID[10]={0}; if(pSocka->Receive(szStationID,sizeof(szStationID)) <= 0) return false; AnsiString strSql = "exec ups_StatisticsOfMonth :qtime,:sid,:Remain output"; OutputDebugInfo("发送12个月统计数据:"+strSql,pSocka); m_pAdo->Active = false; m_pAdo->SQL->Clear(); m_pAdo->SQL->Add(strSql); m_pAdo->Parameters->Items[0]->Value = dt; m_pAdo->Parameters->Items[1]->Value = szStationID; m_pAdo->Parameters->Items[2]->Value = 0; m_pAdo->Active = true; STWeight12Month wh={0}; int i = 0; while(!m_pAdo->Eof) { wh.nTonWeight[i] = m

EntityFramework之原始查询及性能优化(六)

元气小坏坏 提交于 2020-01-08 17:59:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 在EF中我们可以通过Linq来操作实体类,但是有些时候我们必须通过原始sql语句或者存储过程来进行查询数据库,所以我们可以通过EF Code First来实现,但是SQL语句和存储过程无法进行映射,于是我们只能手动通过上下文中的SqlQuery和ExecuteSqlCommand来完成。 SqlQuery sql语句查询实体 通过DbSet中的SqlQuery方法来写原始sql语句返回 实体实例 ,如果是通过Linq查询返回的那么返回的对象将被上下文(context)所跟踪。 首先给出要操作的Student(学生类),对于其映射这里不再叙述,本节只讲查询。 public class Student { public int ID { get ; set ; } public string Name { get ; set ; } public int Age { get ; set ; } } 如果我们要查询学生表(Student)所有数据应该如何操作呢?下面我们通过代码来进行演示: EntityDbContext ctx = new EntityDbContext(); SqlParameter[] parameter = { }; ctx.Database.SqlQuery <Student>( "