如何实现数据库中表的每条记录自动编号?

数据库是用VB的可视化数据管理器创建的。... 数据库是用VB的可视化数据管理器创建的。 展开
 我来答
手机用户90095
推荐于2016-06-02 · TA获得超过221个赞
知道答主
回答量:231
采纳率:0%
帮助的人:172万
展开全部
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 --这样就是没有记录的表名

手工打字,可能出错,还是要你自己测试一下,

要这点分数还真有点难
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友6830e84
2011-02-18 · TA获得超过2544个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:223万
展开全部
将主键字段设为自动编号字段即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-19
展开全部
access数据库就加个字段,数据类型选 自动编号 就行了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落叶有期
2011-02-18 · TA获得超过574个赞
知道小有建树答主
回答量:726
采纳率:0%
帮助的人:347万
展开全部
sql server :indetity
my sql:auto-increment
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舞砜123
2011-02-18 · 超过34用户采纳过TA的回答
知道答主
回答量:216
采纳率:0%
帮助的人:71.8万
展开全部
什么数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式