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 物理存储数据类型
相关文档:
废话不多说,上代码
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'
......
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
(低效)
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WHERE MGR=E. ......
PowerBuilder取得巨大成就的原因就是有功能强大和灵活多变的Datawindow对象,本人用PowerBuilder开发过一段时间后,总结出一些技巧,以供广大的PB开发者借鉴使用。
1、 如何创建一个具有逐渐递增求和功能的报表,如下形式: Running Total列,我们可使用计算列:CumulativeSum(Quantity for all),即可达到逐渐递增求和 ......
很多时候,我们需要把数据库Sequence设置到某个特定的值开始,但是又不想重建这个Sequence 那下面的SQL语句就可以实现这样的功能: 其中user_seq是需要操作的Sequence名称,1 .. 100是递增100次 DECLARE
rowCount1 NUMBER;
BEGIN
FOR cc IN 1 .. 100
LOOP
SELECT user_seq.NEXTVAL INTO rowCount1 f ......
BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。
/********************************************************
例如:
从本地服务器中(有用户名和密码)导出txt文本
EXEC master..xp_cmdshell 'bcp "select * from pubs..authors" queryou ......