5个回答
展开全部
declare @cur cursor
declare @n nvarchar(500)
declare @r as int
declare @sql nvarchar(500)
set @cur= cursor for
SELECT name FROM sysobjects WHERE (xtype = 'u')
open @cur
FETCH NEXT FROM @cur INTO @N
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql ='if not exists(SELECT * FROM ' + @n + ') drop table ' + @n
--exec sp_executesql @sql --我先注释了这一行,注意危险,你确认一下
print @sql
FETCH NEXT FROM @cur INTO @N
END
你的问题是改了又改,我的回答也改了又改
上面的回答中: exec sp_executesql @sql 就把没有行的表给删除了,看注释
如果你要列出表的话,如下:
set nocount on
declare @cur cursor
declare @n nvarchar(500)
declare @r as int
declare @sql nvarchar(500)
set @cur= cursor for
SELECT name FROM sysobjects WHERE OBJECTPROPERTY(id, N'IsUserTable') = 1
declare @tb table (name nvarchar(50) ,rows int)
open @cur
FETCH NEXT FROM @cur INTO @N
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql = 'select @c=count (*) from ' + @n
print @n
exec sp_executesql @sql, N'@c int output',@c=@r output
insert into @tb (name,rows) values(@n,@r)
FETCH NEXT FROM @cur INTO @N
END
--select * from @tb --如果你要每个表名称和行数
select name from @tb where rows=0 --这样就是没有记录的表名
手工打字,可能出错,还是要你自己测试一下,
要这点分数还真有点难
declare @n nvarchar(500)
declare @r as int
declare @sql nvarchar(500)
set @cur= cursor for
SELECT name FROM sysobjects WHERE (xtype = 'u')
open @cur
FETCH NEXT FROM @cur INTO @N
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql ='if not exists(SELECT * FROM ' + @n + ') drop table ' + @n
--exec sp_executesql @sql --我先注释了这一行,注意危险,你确认一下
print @sql
FETCH NEXT FROM @cur INTO @N
END
你的问题是改了又改,我的回答也改了又改
上面的回答中: exec sp_executesql @sql 就把没有行的表给删除了,看注释
如果你要列出表的话,如下:
set nocount on
declare @cur cursor
declare @n nvarchar(500)
declare @r as int
declare @sql nvarchar(500)
set @cur= cursor for
SELECT name FROM sysobjects WHERE OBJECTPROPERTY(id, N'IsUserTable') = 1
declare @tb table (name nvarchar(50) ,rows int)
open @cur
FETCH NEXT FROM @cur INTO @N
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql = 'select @c=count (*) from ' + @n
print @n
exec sp_executesql @sql, N'@c int output',@c=@r output
insert into @tb (name,rows) values(@n,@r)
FETCH NEXT FROM @cur INTO @N
END
--select * from @tb --如果你要每个表名称和行数
select name from @tb where rows=0 --这样就是没有记录的表名
手工打字,可能出错,还是要你自己测试一下,
要这点分数还真有点难
TableDI
2024-07-18 广告
2024-07-18 广告
作为上海悉息信息科技有限公司的员工,我们在处理Excel表格数据比对时,通常会使用Excel的高级功能或专门的比对工具。首先,确保两个表格的数据结构相似,然后可以使用“条件格式”中的“突出显示单元格规则”下的“重复值”功能,来高亮显示两个表...
点击进入详情页
本回答由TableDI提供
展开全部
将主键字段设为自动编号字段即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-19
展开全部
access数据库就加个字段,数据类型选 自动编号 就行了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql server :indetity
my sql:auto-increment
my sql:auto-increment
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么数据库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询