DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: sy1012
今日帖子: 0
在线用户: 5
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 oupj (oupj) ★☆☆☆☆ -
盒子活跃会员
2003/12/29 16:11:07
标题:
能否一次性删除SQL SERVER系统中指定数据库全部表的内容 浏览:1698
加入我的收藏
楼主: 文字
----------------------------------------------
-
作者:
男 cjrb (Thinking In 魂) ★☆☆☆☆ -
盒子活跃会员
2003/12/29 17:07:29
1楼: 两个过程你参考看看:
--删除所有表的内容
 create procedure Delete_Table_Content;
 As
  declare @table_Name Char(50),@SqlStr Char(80)

  /* 定义游标变量  dbo.table_name_list 是你存放待删除表名的表 */
  Declare table_Name_Cur cursor for
  select  table_Name   from dbo.table_name_list 
  
  /* 打开游标结果集 */
  open table_name_cur
  /* 取第一条数据到 @table_name 变量中 */
  fetch next from table_name_cur into @table_name

  while ( @@fetch_status<>-1 )
  begin
    If ( @@fetch_status<>-2 )
  begin
    /* 合并表名到 SQL 字符串中 */
    select @SqlStr = 'delete from '+@table_name
    /* 执行删除操作 */
    EXECUTE SP_ExecuteSql @tSqlStr
  end
   /* 取下一表名 */
   fetch next from table_name_cur into @table_name
  end
  /* 关闭游标 */
  close table_name_cur
  /* 释放游标占用内存*/
  deallocate table_name_cur
-------------------------------------------------
列出SQL SERVER 所有表(pjessica收藏)
-- ====================================================== 

--列出SQL SERVER 所有表,字段名,主键,类型,长度,小数位数等信息

--在查询分析器里运行即可,可以生成一个表,导出到EXCEL中

-- ======================================================

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 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 sysproperties g

on a.id=g.id AND a.colid = g.smallid  

order by a.id,a.colorder

----------------------------------------------
按此在新窗口浏览图片 充电..........
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行60.05859毫秒 RSS