找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 7416|回复: 3

[业务链] 查询不知道具体名称数据库表名

[复制链接]
发表于 2014-4-21 11:12:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
以浪潮清除临时表的方法为例:SQL Server版本
声明:GS中由于异常会导致很多垃圾临时表,这个脚本可用于自动清理的参考,但是执行前一定要先备份数据库,然后单独执行注释掉删除语句的脚本打印出要删除的临时表进行确认(默认exec(@sqltext)一句是屏蔽的,实际删除时去掉注释即可),不确定的表要跟业务组确认。以免误删数据。
--以LCxxxx9999登录系统,执行以下语句看看tmp打头的所有表,检查是否都在删除之列,如果有不能删除的请修改条件
SELECT [name] FROM sysobjects where type = 'U' and [name] like 'TMP%' and len([name]) > 13 and crdate < (getdate() -2) order by [name]由于临时比一般符合TMP+前缀+进程号的前10位,因此至少13个字符,避免个别非动态的临时表也是以TMP打头导致误删。
--以下为取出TMP打头的表然后进行删除的脚本
--条件 crdate < (getdate() - 3)表示创建日期早于三天前的表
--以下为实际脚本,可以加至SQL Server的维护任务中,每天晚上自动执行
------------------------------------
DECLARE @tblname varchar(250)
DECLARE @sqltext varchar(250)

DECLARE curTbls CURSOR FOR
    SELECT [name] FROM sysobjects where type = 'U' and [name] like 'TMP%' and len([name]) > 13 and crdate < (getdate() -2) order by [name]

OPEN CurTbls
FETCH NEXT FROM curTbls INTO @tblName

WHILE @@FETCH_STATUS=0
BEGIN
    SELECT @sqltext = 'drop table ' + @tblName
    exec(@sqltext)
    PRINT @sqltext
    FETCH NEXT FROM curTbls INTO @tblName
END
CLOSE CurTbls
DEALLOCATE curTbls


发表于 2014-4-21 12:01:33 | 显示全部楼层
路过学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2021-3-26 10:38:50 | 显示全部楼层
路过学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2021-7-5 14:15:44 | 显示全部楼层
谢谢提供资料分享
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-24 00:02 , Processed in 0.034669 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表