mssqlmssql 收缩数据库库输入表mssql 收缩数据库的同时更新另一个表的mssql 收缩数据库

把Excel表数据导入Ms Sql数据库后出现的问题!
[问题点数:0分]
把Excel表数据导入Ms Sql数据库后出现的问题!
[问题点数:0分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。一个查看MSSQL数据库中所有表信息的SQL语句
【娱乐休闲】
【生活服务】
【电脑网络】
【文体教育】
【行业部门】
文章浏览→→→一个查看MSSQL数据库中所有表信息的SQL语句一个查看MSSQL数据库中所有表信息的SQL语句
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 (SELECT count(*)&&&&&&FROM sysobjects&&&&&&WHERE (name in&&&&&&&&&&&&&&&&(SELECT name&&&&&&&&&&&&&&&FROM sysindexes&&&&&&&&&&&&&&&WHERE (id = a.id) AND (indid in&&&&&&&&&&&&&&&&&&&&&&&&&(SELECT indid&&&&&&&&&&&&&&&&&&&&&&&&FROM sysindexkeys&&&&&&&&&&&&&&&&&&&&&&&&WHERE (id = a.id) AND (colid in&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(SELECT colid&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&FROM syscolumns&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&WHERE (id = a.id) AND (name = a.name))))))) AND&&&&&&&&&&&&&(xtype = 'PK'))&0 then '√' else '' end) 主键,&&&&&&b.name 类型,&&&&&&a.length 占用字节数,&&&&&&COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,&&&&&&isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,&&&&&&(case when a.isnullable=1 then '√'else '' end) 允许空,&&&&&&isnull(e.text,'') 默认值,&&&&&&isnull(g.[value],'') AS字段说明&&&FROM& syscolumns& a left joinsystypes b&on& a.xtype=b.xusertypeinner join sysobjects don a.id=d.id& and& d.xtype='U'and&d.name&&'dtproperties'left join syscomments eon a.cdefault=e.idleft join sysproperties gon a.id=g.id AND a.colid = g.smallid&order by a.id,a.colorder所属分类:→&&&&作者:新浪博客&&&&时间: 0:00:00
All Right Reserved在注册表中删除MSSQL无用的数据库注册
阅读:220次&&&时间: 00:00:00&&
开发人员经常在MSSQL企业管理器中注册远程的MSSQL服务器,直接在企业管理器中删除这些远程的MSSQL注册挺痛苦的,其实是可以在注册表中直接删除的。找到HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\Tools\SQLEW\Registered Servers X\SQL Server Group,里面每一项分别对应一个数据库注册表项,直接删除即可。
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
Copyright &
All Rights Reserved实现删除主表数据时, 判断与之关联的外键表是否有数据_模板无忧
实现删除主表数据时, 判断与之关联的外键表是否有数据_Mssql数据库教程
推荐:这篇文章主要介绍了大型数据库设计所应掌握的基本准则,具体内容请参考下文。
一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器问题描述:
某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要判断是否已经被用过,如果用过则更改标志位,如果没有用过则直接删除,如何能很好实现这个处理?最好能够自动适应表的变化
问题解决(SQL Server 2005)
-- SQL Server 2005的错误处理容易控制, 因此, SQL Server 2005中可以直接删除, 通过错误处理来确定是否需要更新.
-- 示例如下.
USE tempdb
CREATE TABLE m(
id int PRIMARY KEY,
INSERT m SELECT 1, 0
UNION ALL SELECT 2, 0
CREATE TABLE c(
id int primary key,
a_id int references m(id)
ON DELETE NO ACTION)
INSERT c SELECT 1, 1
-- 删除处理存储过程
CREATE PROC dbo.p_delete
SET NOCOUNT ON
BEGIN TRAN
DELETE FROM m WHERE id = @id
COMMIT TRAN
BEGIN CATCH
ROLLBACK TRAN
IF ERROR_NUMBER() = 547 -- 如果是外键约束错误
BEGIN TRAN
-- 更新标志
UPDATE m SET bz = 1
WHERE id = @id
COMMIT TRAN
BEGIN CATCH
SELECT ERROR_NUMBER(), ERROR_MESSAGE()
SELECT ERROR_NUMBER(), ERROR_MESSAGE()
EXEC dbo.p_delete 1
EXEC dbo.p_delete 2
SELECT * FROM m
SELECT * FROM c
DROP TABLE c, m
DROP PROC dbo.p_delete
问题解决(SQL Server 2000)
-- SQL Server 2000 对错误处理不好控制, 一般还是建议做判断
-- 通过系统表查询系统表,可以获取某个表关联的所有外键表
-- 示例存储过程
CREATE PROC dbo.p_Delete
@tbname sysname,
-- 基础数据表名
@PkFieldName sysname,
-- 基础数据表关键字段名
@PkValue int
-- 要删除的基础数据表关键字值
SET NOCOUNT ON
DECLARE @bz bit, @s nvarchar(4000)
DECLARE tb CURSOR LOCAL
SET @bz = CASE WHEN EXISTS(
SELECT * FROM '
QUOTENAME(@tbname)
QUOTENAME(OBJECT_NAME(B.fkeyid))
QUOTENAME((SELECT name FROM syscolumns WHERE colid = B.rkey AND id = B.rkeyid))
QUOTENAME((SELECT name FROM syscolumns WHERE colid = B.fkey AND id = B.fkeyid))
N' AND A.'
QUOTENAME((SELECT name FROM syscolumns WHERE colid = B.rkey AND id = B.rkeyid))
N' = @id) THEN 1 ELSE 0 END'
FROM sysobjects A
JOIN sysforeignkeys B
ON A.id= B.constid
JOIN sysobjects C
ON A.parent_obj = C.id
WHERE A.xtype = 'f'
AND C.xtype = 'U'
AND OBJECT_NAME(B.rkeyid) = @tbname
FETCH tb INTO @s
WHILE @@FETCH_STATUS = 0
EXEC sp_executesql @s, N'@tbname sysname, @id int, @bz bit OUT', @tbname, @PkValue, @bz OUT
IF @bz = 1
SET @s = N'UPDATE '
QUOTENAME(@tbname)
N' SET bz = 1 WHERE '
QUOTENAME(@PkFieldName)
EXEC sp_executesql @s, N'@id int', @PkValue
FETCH tb INTO @s
DEALLOCATE tb
SET @s = N'DELETE FROM '
QUOTENAME(@tbname)
N' WHERE '
QUOTENAME(@PkFieldName)
EXEC sp_executesql @s, N'@id int', @PkValue
设置表的主/外键关系的时候,不要设置级联删除(ON DELETE CASCADE)
分享:  上个月的最后一天
  这是一个计算上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql Server中时间是精确到3毫秒。这就是为
相关Mssql数据库教程:
编程教程搜索
Mssql数据库教程推荐
猜你也喜欢看这些话:400-996-1609
技术支持您现在的位置: &
MSSQL查询所有数据库、表名、表结构的SQL语句
发布于: 17:01:40
&MSSQL 查询数据库中的所有数据库名
&SELECT Name FROM Master..SysDatabases ORDER BY Name
MSSQL 查询某个数据库中所有的表名
&SELECT Name FROM SysObjects Where XType='U' ORDER BY Name
MSSQL 查询表结构
SELECT (case when a.colorder=1 then d.name else null end) 表名, &
&a.colorder 字段序号,a.name 字段名,
&(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '&'else '' end) 标识,&
&(case when (SELECT count(*) FROM sysobjects &
&WHERE (name in (SELECT name FROM sysindexes &
&WHERE (id = a.id) AND (indid in &
&(SELECT indid FROM sysindexkeys &
&WHERE (id = a.id) AND (colid in &
&(SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name))))))) &
&AND (xtype = 'PK'))>0 then '&' else '' end) 主键,b.name 类型,a.length 占用字节数, &
&COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度, &
&isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when a.isnullable=1 then '&'else '' end) 允许空, &
&isnull(e.text,'') 默认值,isnull(g.[value], ' ') AS [说明]
&FROM &syscolumns a&
&left join systypes b on a.xtype=b.xusertype &
&inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name'dtproperties'&
&left join syscomments e on a.cdefault=e.id &
&left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
&left join sys.extended_properties f on d.id=f.class and f.minor_id=0
&where b.name is not null
&order by a.id,a.colorder
服务热线:400-996-1609地址:莆田仙游天博广场4203# ICP证:闽ICP备号 软著登字第0530570号}

我要回帖

更多关于 mssql 收缩数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信