MS SQL Server 几个系统表介绍
1.表SYSOBJECTS用于描述数据库中的对象 --表、视图、存储过程等
说明:该表相关字段的含义如下:
SYSOBJECTS.name 对象名,如:表名,视图名。
SYSOBJECTS.id 对象id。
SYSOBJECTS.type 对象类型(p存储过程,v视图,s系统表,u用户表)。
ex:
SELECT * from Sysobjects WHERE NAME='GetRegularVal'
SELECT * from Sysobjects WHERE xtype='V'
扩展: 如果需要 查询所有视图 ,除了 SELECT * from Sysobjects WHERE xtype='V' 能查询到外,还可以用:
SELECT * from sys.VIEWS。sys.VIEWS 是对 视图的一个封装
2.表SYSCOLUMNS 为每个表、视图中的每个列和每个存储过程的每个参数创建一条记录
该表相关字段的含义如下:(此处的列系指数据库中每个表、视图中的列)
SYSCOLUMNS. id 该列所属的表的id,可与SYSOBJECTS.id相关联
SYSCOLUMNS.colid 列id,表示该列是表或视图的第几列。
SYSCOLUMNS.type 物理存储类型,可与SYSTYPES.type相关联。
SYSCOLUMNS.length 数据的物理长度。
SYSCOLUMNS.name 列名字,即字段名。
SYSCOLUMNS .Pre 列的精度级。
SYSCOLUMNS .Scale 列的标度级
ex:
SELECT * from syscolumns WHERE ID=OBJECT_ID('ECORDER')
本句等价:
SELECT * from syscolumns WHERE ID IN (SELECT ID from sysObjects WHERE NAME='ECORDER')
3.表SYSTYPES 为每个系统和每个用户提供的数据类型创建一条记录,如果它们存在,给定域和默认值,描述系统提供的数据类型的行不可更改。
该表相关字段的含义如下:
SYSTYPES.name 数据类型的名字。
SYSTYPES.type 物理存储数据类型
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
废话不多说,上代码
SELECT k
from (
SELECT 'shanghai' AS k from DUAL
UNION ALL
SELECT 'dalian' AS k from DUAL
UNION ALL
SELECT 'beijing' AS k from DUAL
)
ORDER BY CASE
WHEN k = 'beijing'
......
EXEC和sp_executesql的区别?
DBCC FREEPROCCACHE --》清空缓存中的执行计划
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects WHERE sql NOT LIKE '%cach%' AND sql NOT LIKE '%sys.%' --》查找对应的缓存中的对应计划
SQL Server为每一个的查询字符串创建新的执行计划,即使查询模式相同也是这样
......
select batch_no "批次号",get_id "分类" from (
select(
select plan1.batch_no from product_plan plan1 where plan1.item_no=(select head1.product_code from wo_head head1 where head1.order_no =bbb)) batch_no,
(select decode(get_id,'BUY','外购件','MAK','自制件','MB','未定') from item where item_ ......
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select ......