很多程序员在实际开发中,经常遇到这种情况,列表上方有很多条件,包含下拉框,输入框等等,这些条件都可以不输入,如果我们需要写一个存储过程,很多条件挨个判断是否为空,且进行任意组合,任何一个开发人员都会疯的.闲话少说,接下来举例说明: create proc myproc @condition1 varchar(50)=null, @condition2 int=null, @condition3 bit as select col1,col2 from table where col3=isnul…
    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程.存储过程优点:     1.重复使用.存储过程可以重复使用,从而可以减少数据库开发人员的工作量.     2.减少网络流量.存储过程位于服务器上,调用的时候只需要传递存储过程…
函数:拆分字符串,并返回一个table CREATE FUNCTION [dbo].[f_splitSTR](@s varchar(max), --待分拆的字符串@split varchar(10) --数据分隔符)RETURNS @re TABLE(col1 varchar(100))ASBEGIN DECLARE @splitlen int SET @splitlen=LEN(@split+'a')-2 WHILE CHARINDEX(@split,@s)>0 BEGIN INSERT @r…
前天遇到一个问题,是一个数据库是Sqlserver 2008的,而平台数据库库是2005的,需要把2008的数据库附加进来,试了很多办法,现在觉得最好的办法就是导出导入办法. 第一步 新建一个Sqlserver 2005 的数据库 建立办法,注意修改文件目录,不要和2008的数据库文件冲突了 使用生成的脚本在Sqlserver 2005 中创建一个新的数据库 第二步 生成数据库脚本,注意选择为服务器版本编写脚本为 Sql server 2005 这里要全部选择成True 为第一步新创建的库执行脚…
原文:使用SQLServer 2008的CDC功能实现数据变更捕获 最近由于工作需要,研究了一下2008 CDC功能,觉得还不错,下面整理了一下研究过程,虽然比较粗略,但是基本上能用了,如果有补充请大家回复,我视情况修改原帖,谢谢. 背景: 在SQLServer2008之前,对数据变更的捕获通常使用触发器.时间戳等低效高成本的功能来实现,所以很多系统都没有做数据变更或者仅仅对核心表做监控. 自从SQLServer2008引入了数据变更捕获功能(后面简称为CDC)后,解决了很多烦恼问题,如客户2个…
一.   存储过程简介 Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量.条件执行和其他强大的编程功能. 存储过程相对于其他的数据库访问方法有以下的优点: (1)重复使用.存储过程可以重复使用,从而可以减少数据库开发人员的工作量. (2)提高性能.存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译.一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率. (3)减少网络…
据库的发展史 在人类诞生以来,就有记录数据的需求,在远古时代就有了结绳记事的故事,而随着科技的进步,我们记录数据的方式也发生了天翻地覆的变化,从效率低.规模小.不能适应信息高速发展的需要的手工或者简单机械记录信息到为了适应现在高速大量的信息发展而创立的数据库管理系统. 目前的数据库主流的都是关系型数据库,当然未来的数据方向是面向对象型数据库,关系型数据库的特点是具有将对象实体转化成二维表来进行管理,具有简单.清晰的优点. 数据库的基本概念 数据库按照从大到小的范围可以分成四个层级:数据库系统>数…
Sqlserver 2008 无法远程连接,原因无非如下: 1. Sql未配置为允许TCP/IP登录: 2. 防火墙未允许端口1433(或者其他在SQL配置中指定的端口): 3. 命名实例导致的无法连接: 其中第1和第2两种情况都好解决,只要修改配置即可. 对于第3种情况,就是访问SQLServer的命名实例,无法远程连接的原因是没有指定端口号(即使用默认端口号,也必须指定). 也就是,数据库实例填写成以“192.168.1.1\SQL”这样是不行的,一定要写成“192.168.1.1,1433…
sqlServer 2008修改字段类型和重命名字段名称的sql语句 //修改字段的类型 alter table fdi_news alter column c_author nvarchar(50) //重命名字段的名称 EXEC sp_rename 'FDI_PROJECT.[c_foreignCountryPer]','c_foreignCompanyPer','COLUMN'; //增加字段 alter table fdi_news add c_author nvarchar(50) /…
使用JDBC访问SQLServer 2008 // 准备数据库驱动程序 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载数据库驱动程序 Class.forName(driver); // 准备连接参数 String connectionUrl = "jdbc:sqlserver://localhost:1433;"; String user = "xxx";…