系统表应用
文章平均质量分 81
zjcxc
这个作者很懒,什么都没留下…
展开
-
批量将一个库里的所有表里的char改成nchar类型
/*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程--邹建 2004.02(引用请保留此信息)--*/ /*--调用示例: exec p_set --*/ if exists (select * from dbo.sysobjects where id = object_id(N[dbo].原创 2004-02-11 17:36:00 · 2893 阅读 · 1 评论 -
如何迁移数据库到另一个分区
问题描述:一台服务器,联了好几个阵列,其实可以看作不同的逻辑驱动器,就假设为c盘,d盘,e盘sql server 2000 程序装在了c盘,数据装在了d盘现在阵列d需要撤走,我需要把原来d盘的数据库文件挪到e盘上,数据库有100多个,一个一个手动备份恢复时间不够,而且我不知道数据库文件的路径变了以后会有什么问题(我做了试验,服务起不起来了)。我应该如何做?我试了一种办法,就原创 2006-07-09 22:52:00 · 9093 阅读 · 2 评论 -
实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
问题描述:某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要判断是否已经被用过,如果用过则更改标志位,如果没有用过则直接删除,如何能很好实现这个处理?最好能够自动适应表的变化 问题解决(SQL Server 2005)-- SQL Server 2005的错误处理容易控制, 因此, SQL Server 2005中可以直接删除, 通过错误处理原创 2006-09-18 11:30:00 · 12984 阅读 · 10 评论 -
计算查询结果的字节数
计算查询结果的大小 问题描述: 从数据库中筛选出一部分记录并统计出这部分记录的总大小,用K或M表示,该怎么处理?答: 把检索出现的记录存放到临时表,然后再计算就可以。--示例:--将满足条件的数据存储到临时表 SELECT * INTO # FROM syscolumns--计算处理 EXEC(USE tempdb;EXEC sp_spaceused # DROP TABLE原创 2005-06-04 14:48:00 · 5098 阅读 · 1 评论 -
在临时表的指定字段前面插入字段
在临时表的指定字段前面插入字段 问题描述: 使用下面的代码创建一个临时表,怎么样才能在‘长度’字段之前插入一个字段?create table #temp(CODE varchar(50),长度 varchar(50),颜色 varchar(50), 合计 varchar(50))/*- 一般来说,列位置不重要,处理的时候写列的列表就行了。如果一定要处理,则参考下面的示例-*/--创建临时表c原创 2005-05-30 21:49:00 · 5137 阅读 · 0 评论 -
在 SQL Server 2005 中查询表结构及索引
在 SQL Server 2005 中查询表结构及索引 -- 1. 表结构信息查询 -- ========================================================================-- 表结构信息查询-- 邹建 2005.08(引用请保留此信息)-- ===============================================原创 2005-08-24 14:19:00 · 12367 阅读 · 11 评论 -
查询重复记录
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_qry]) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure [dbo].[p_qry]GO/*--查询重复记录的通用存储过程 可以查询出表中那些数据是重复的,这里的重复,是指除主键原创 2004-04-22 14:31:00 · 4691 阅读 · 0 评论 -
显示数据库中的表结构(新增了索引及表的描述信息)
SELECT 表名=case when a.colorder=1 then d.name else end, 表说明=case when a.colorder=1 then isnull(f.value,) else end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.id,a.name,IsIden原创 2004-03-21 20:32:00 · 3766 阅读 · 1 评论 -
将表中的某个字段转换成标识字段,并保留原来的值
/*--将表中的某个字段转换成标识字段,并保留原来的值 注意,因为要删除原表,所以,如果表和其他表的关联,这些关联要重新创建--邹建 2003.12(引用请保留此信息)--*//*--调用示例 exec p_setid 表名,要转换的字段名--*/if exists (select * from dbo.sysobjects where id = object_id(N原创 2004-02-15 23:39:00 · 2864 阅读 · 0 评论 -
修改自定义数据类型精度
/*--修改自定义数据类型精度的示例 自定义数据类型一旦被引用,就不能再修改和删除,如果要修改数据的精度,就非常麻烦,下面的示例演示了如何修改 假设要修改的自定义变量名为aa--*/--1.修改自定义变量类型的名称exec sp_rename aa,aa_bak,USERDATATYPEgo--2.新增自定义变量(按新的精度)EXEC sp_addt原创 2004-04-15 17:40:00 · 4333 阅读 · 5 评论 -
查询指定的表在那些数据库中存在
--查询指定的表在那些数据库中存在declare @tbname sysnameset @tbname=客户资料declare @dbname sysname,@sql nvarchar(4000),@re bit,@sql1 varchar(8000)set @sql1=declare tb cursor for select name from master..sysdatab原创 2004-01-04 10:22:00 · 3144 阅读 · 0 评论 -
查询数据库中,表结构的详细信息
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原创 2003-12-31 10:14:00 · 4871 阅读 · 0 评论 -
搜索某个字符串在那个表的那个字段中
--搜索某个字符串在那个表的那个字段中declare @str varchar(100)set @str=White --要搜索的字符串declare @s varchar(8000)declare tb cursor local forselect s=if exists(select 1 from [+b.name+] where [+a.name+] like %原创 2004-04-13 14:15:00 · 3761 阅读 · 0 评论 -
比较两个数据库的表结构差异
/*--比较两个数据库的表结构差异 --邹建 2003.9(引用请保留此信息)--*//*--调用示例 exec p_comparestructure xzkh_model,xzkh_new--*/if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_comparestructure]) an原创 2004-01-04 10:22:00 · 12753 阅读 · 8 评论 -
扩展 sp_helpindex, 增加 INCLUDE 和筛选索引的筛选条件
SQL Server的系统存储过程似乎没有被重视,新版本的一些特性似乎没有在系统存储过程中体现出来,着实是一件比较郁闷的事。 下面的这个存储过程是对sp_helpindex的扩展,扩展增加两个索引的新特性信息:包含列和列筛选。使用方法和 sp_helpindex 一样,感兴趣的可以试一下。USE master;GO/*-- sp_helpindex 扩展--------------原创 2013-02-19 13:38:53 · 7246 阅读 · 0 评论