扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
SQLSERVER中 根据字段名称查找所在表格名称的方法:
成都创新互联专注于常山企业网站建设,自适应网站建设,商城系统网站开发。常山网站建设公司,为常山等地区提供建站服务。全流程按需制作,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
一、语句的思路:
SQLSERVER的两个系统表:1、保存表格字段属性的:syscolumns 2、保存数据库对象属性的:sysobjects ,它们都包含对象ID字段,所以可以使用两个表格的ID字段,作为表格联合检索依据来进行检索。
二、相关系统表格简介:
1、syscolumns :每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。
2、sysobjects :在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。
三、根据字段名称检索所在表格名称
select syscolumns.name,sysobjects.name --syscolumns.name:字段名、sysobjects.name:表格名称
from syscolumns,sysobjects
where syscolumns.name = 'gc_lczt' and syscolumns.id = sysobjects.id;--以字段名称'gc_lczt'为例,使用字段ID关联两个表格
四、检索结果如图:
五、注意:因为不同表格可能有相同的字段名称,所以结果有可能不只一条。
--查询数据库里所有表名和字段名的语句
--SQL
查询所有表名:
SELECT
NAME
FROM
SYSOBJECTS
WHERE
TYPE='U'
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
--查询表的所有字段名:
SELECT
NAME
FROM
SYSCOLUMNS
WHERE
ID=OBJECT_ID('
表名'
)
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
SELECT
*
FROM
INFORMATION_SCHEMA.VIEWS
SELECT
*
FROM
INFORMATION_SCHEMA.COLUMNS
---------以下为其他数据库查询表----------
--ORACLE
查看所有表名:
SELECT
TABLE_NAME
FROM
USER_TABLES
--ACCESS
查看所有表名:
SELECT
NAME
FROM
MSYSOBJECTS
WHERE
TYPE=1
AND
FLAGS=0
--MSYSOBJECTS
是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。
拼接字符串就可以啊,表名定义一个变量
declare @stable varchar(20) --定义表名
declare @ssql varchar (1000)--要执行的sql语句
set @stable='data'+@sdate--@Sdate 是你转换过的字符,比如你的就是200702可以用substring截取
@ssql='你的相应条件'+stable
exec (@ssql ) 就可以了,我时常做项目都是这样动态的。不明白的百度hi问我,但是要记得给我最佳答案啊,呵呵
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流