sql server数据库中有很多表,但我不知道这个字段是那个表的,如何找到这个表?
5个回答
展开全部
可以查系统表
假设字段为student
SELECT name FROM sys.sysobjects
WHERE (id = (SELECT id FROM sys.syscolumns
WHERE (name = 'student')))
前面那个name是指表的名字,后面的那个name是指列的名字。
sys.sysobjects表里存放有数据库中所有表的信息,并配有唯一字段id。
sys.syscolumns表里存放有数据库中所有字段的信息,也有一个字段id,这里的id外键,参照sys.sysobjects表里的id。
假设字段为student
SELECT name FROM sys.sysobjects
WHERE (id = (SELECT id FROM sys.syscolumns
WHERE (name = 'student')))
前面那个name是指表的名字,后面的那个name是指列的名字。
sys.sysobjects表里存放有数据库中所有表的信息,并配有唯一字段id。
sys.syscolumns表里存放有数据库中所有字段的信息,也有一个字段id,这里的id外键,参照sys.sysobjects表里的id。
展开全部
我用游标实现了你的功能。
你首先建立一张空表,和你的操作表一样的结构,但是要求是空表,没有任何内容,比如是tempReg2
你把下面的代码拷贝到SQL查询分析器,稍作修改就行。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
DECLARE Cursor_Title CURSOR FOR SELECT distinct title FROM RegMember
OPEN Cursor_Title
declare @str varchar(50)
FETCH NEXT FROM Cursor_Title Into @str
WHILE @@FETCH_STATUS = 0
BEGIN
insert into tempReg2 select top 1 * from RegMember where title=@str
FETCH NEXT FROM Cursor_Title Into @str
END
CLOSE Cursor_Title
DEALLOCATE Cursor_Title
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我用的表名是RegMember,重复的列名是title,所以这两个名称需要你替换一下。别的可以不变。
你首先建立一张空表,和你的操作表一样的结构,但是要求是空表,没有任何内容,比如是tempReg2
你把下面的代码拷贝到SQL查询分析器,稍作修改就行。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
DECLARE Cursor_Title CURSOR FOR SELECT distinct title FROM RegMember
OPEN Cursor_Title
declare @str varchar(50)
FETCH NEXT FROM Cursor_Title Into @str
WHILE @@FETCH_STATUS = 0
BEGIN
insert into tempReg2 select top 1 * from RegMember where title=@str
FETCH NEXT FROM Cursor_Title Into @str
END
CLOSE Cursor_Title
DEALLOCATE Cursor_Title
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我用的表名是RegMember,重复的列名是title,所以这两个名称需要你替换一下。别的可以不变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL server中有个系统表记录了所有表的各种信息,包括字段名称
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我还是要强调一点,编程的代码规范!一定要记住的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库命名不够规范,规范命名,应该就没什么问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询