摘要:declare @tableName varchar(50)declare @tableID intdeclare @columnName varchar(50)declare @sql varchar(8000) set @tableName=''set @columnName=''declare cur cursor forselect name,id from syscolumns wher...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*-- 得到指定id的子id列表 --*/ --不包含排序字段的情况 create function f_getchildid(@id int) returns @re table(id int) as begi...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*-- 得到指定id的父id列表 --*/ --不包含排序字段的情况 create function f_getparentid(@id int) returns @re table(id int) as beg...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*--数据复制 如果表中包含自定义字段,需要修改存储过程 存在嵌套不超过32层的问题. --*/ --创建复制的存储过程--复制指定结点下的子结点到另一个结点下 create proc p_copy @s_id int, ...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*--数据完整性检查--*/ --自定义函数--检测某个编码出发,是否被循环引用 create function f_chkid(@id int) returns bit --循环,返回1,否则返回0 as begin ...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*--数据新增,修改 数据新增,修改(包括修改所属的类别)没有什么技巧 ,只需要检查所属的上级是否存在就行了.这个可以简单的用下面的语句来解决: if exists(select 1 from tb where id...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段./*--数据显示排序--*/ --分级显示--横向,先一级,后二级... select * from tb order by pid --分级显示--纵向 select * from tb order by ...
阅读全文
摘要:--数据结构 表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb id为编号(标识字段+主键) pid为上级编号 name为名称,后面可以自行增加其他字段.--自定义函数--获取编码累计 create function f_getmergid(@id int) returns varchar(8000) as begin declare @re varchar(8000)...
阅读全文
摘要:一、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。 二、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优...
阅读全文
摘要:方法一:粗暴型: 1.进入企业管理器,选中数据库, 2、所有任务->分离数据库 3、到数据库文件的存放目录,将***_log.LDF文件删除,你怕S的话可以拷出去 4、企业管理器->附加数据库,选mdf,这个时候你会看见日志文件这项是一个叉,不要紧继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。 5、记得数据库重新附加后用户要重新设置一下 方法二:一般型 建立作业,每天...
阅读全文
摘要:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_convert]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_convert] GO ...
阅读全文
摘要:declare @name varchar(800),@sqls nvarchar(500) DECLARE curObject1 CURSOR FOR --声明游标 select [name] from sysobjects where xtype='U' and name'dtproperties' order by [name] OPE...
阅读全文
摘要:要查询案卷表中的重复纪录,比如是否有单位重复的纪录,可以使用下列的方法 SELECT * FROM jkarchvol WHERE (vol_unit IN (SELECT vol_unit FROM jkarchvol GROUP BY vol_unit HAVING COUNT(*) > 1)) 做的时候出现多个字段重复...
阅读全文
摘要:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_savexml]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_savexml]
GO
/*--将表中的数据存储为xml文档
--邹建 2005.04(引用请保留此信息)--*/
阅读全文
摘要:create proc p_exporttb
@sqlstr varchar(8000), --查询语句,如果查询语句中使用了order by ,请加上top 100 percent
@path nvarchar(1000), --文件存放目录
@fname nvarchar(250), --文件名
阅读全文
摘要:存储过程:SP_BulkInsertFromExcel
功能说明:根据Excel文件导入数据库中的表
阅读全文
摘要:行列转换--普通
假设有张学生成绩表(CJ)如下
Name Subject Result
阅读全文
摘要:--第一 完全备份部分
--新增作业
EXEC sp_add_job @job_name = '完全备份'
--新增作业步骤1,把数据库备份到test_full_backup_A.bak
阅读全文
摘要:Sql Server 2000 版本:
SELECT 表名=case when a.colorder=1 then d.name else '' end,
--字段序号=a.colorder,
字段名=a.name,
--标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
/*主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name
in ( SELECT name FROM sysindexes WHERE indid
in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid )))
then '√' else '' end,
阅读全文