易截截图软件、单文件、免安装、纯绿色、仅160KB

SqlServer数据库的语句及一些操作整理

临近年终,在工作之余对工作和学习中遇到的问题以及常用的一些知识点做了些整理,以备后用。本文涉及的内容为数据库,算是对开发总结(1)---数据库一文的补充。
1 对于主键设置了Identity的表,在删除表中数据后再往表中插入数据,Identity列不是从1起始了,如果想删除数据后Indentity列仍从1起始,可以用下面代码来删除数据。
truncate table tablename
DBCC CHECKIDENT(tablename,RESEED,1)
2 判断指定表在数据库中是否存在
if exists(select name from sysobjects where name='tablename' and type='u')
3 判断指定列在指定表中是否存在
if exists(select * from sys.columns,sys.tables
where sys.columns.object_id = sys.tables.object_id
and sys.tables.name='tablename' and sys.columns.[name]='columnname')
4 在编写代码生成器之类的程序的时候,通常需要取出数据库中所有的表名以及表中字段的一些基本信息,如字段长度、字段类型、描述等。实现上面要求的sql语句如下:
--取数据库中表的集合
select * from sysobjects where xtype='u' order by name
--取表中字段的一些基本信息
select
sys.columns.name, --字段名
sys.types.name as typename, --字段类型
sys.columns.max_length, --字段长度
sys.columns.is_nullable, --是否可空
(select
count(*)
from
sys.identity_columns
where
sys.identity_columns.object_id = sys.columns.object_id
and
sys.columns.column_id = sys.identity_columns.column_id
) as is_identity ,--是否自增
(select
value
from
sys.extended_properties
where
sys.extended_properties.major_id = sys.columns.object_id
and
sys.extended_properties.minor_id = sys.columns.column_id
) as description --注释
from
sys.columns, sys.tables, sys.types
where
sys.columns.object_id = sys.tables.object_id
and
sys.columns.system_type_id=sys.types.system_type_id
and
sys.tables.name='tablename'
order by sys.columns.column_id
5 在存储过程中使用事务
create procedure procname
as
begin tran
--执行sql语句
if @@ERROR!=0
begin


相关文档:

sqlserver获取第n行数据

如何在一个没有主键的表中获取第n行数据,在sql2005中可以用row_number,但是必须指定排序列,否则你就不得不用select into来过渡到临时表并增加一个排序字段。
用游标的fetch  absolute语句可以获取绝对行数下的某行数据,测试代码如下:
set nocount on
--建立测试环境并插入数据,并且表没有主键
create table t ......

总结一点Access与Sqlserver的sql的差异

最近整理出来的.如果不完全的话希望大家补充.
在access中,转换为大写的sql函数是ucase,在sqlserver中,转换为大写的函数是upper;在access中,转换为小写的函数是lcase,在sqlserver中,转换为小写的函数是lower;在access中,取当前时间的函数是now,另外还有一个取日期函数date,在sqlserver中,取当前的函数是getdate ......

【改斜归正】 sqlserver sql 分页语句

      在Google上使用“sql 分页”关键字进行搜索,几乎所有的答案都是那三条。其二效率最高,其三使用游标,效率最差。
      下面是那三种方法 (插入代码没有sql选项)
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from table1
WHERE ......

asp连sqlserver测试代码

<%
Dim Conn, Connstr
Dim strServer, strUid, strPwd, strDB
strServer = "HUA-5780C2D1CCF"        'SQL数据库服务器地址
strUid = "sa"                '数据库用户名
strPwd = "123456"  ......

用CASE WHEN实现sqlserver数据库的分类汇总功能

/*用CASE WHEN实现sqlserver数据库的分类汇总功能*/
/*例1:统计个数*/
/*表结构
id  cityid  major
1   1         A
2   1         B
3   2        ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号