相关之(一)

来源:互联网 发布:淘宝上买组装机怎么样 编辑:程序博客网 时间:2024/04/29 03:57
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
1.1、高级查询语句
1、 TRUNCATETABLE[table_name]

删除表中的所有行,而不记录单个行删除操作。

TRUNCATETABLE在功能上与不带WHERE子句的DELETE语句相同:二者均删除表中的全部行。但TRUNCATETABLE比DELETE速度快,且使用的系统和事务日志资源少。

DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATETABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用DELETE。

对于由FOREIGNKEY约束引用的表,不能使用TRUNCATETABLE,而应使用不带WHERE子句的DELETE语句。由于TRUNCATETABLE不记录在日志中,所以它不能激活触发器。

2、 SP_DATABASES

返回在sysdatabases系统表中列出的数据库。

sp_databases在开放式数据库连接(ODBC)中没有等价的过程。

3、 SP_DATATYPE_INFO

   sp_datatype_info等价于ODBC中的SQLGetTypeInfo。返回结果按DATA_TYPE排序,再按数据类型映射为相应ODBCSQL数据类型的紧密程度进行排序。

4、 SP_COLUMNS

       返回当前环境中可查询的指定表或视图的列信息。

         Sp_columns[table_name]

             Or:sp_columns@table_name='[table_name]',@column_name='[column_name]'

5、 SP_TABLES

   用法同上,不再雷述。
1.2、存储过程
      所有优良的Microsoft®SQLServer™2000应用程序都应当使用存储过程。不论是否将应用程序的业务逻辑写入存储过程都应如此。甚至连没有业务逻辑组件的标准Transact-SQL语句,在用参数打包成存储过程后也能获得性能收益。编译进存储过程的Transact-SQL语句在执行时可省去大量的处理。
1.2.1存储过程的设计规则
l        CREATEPROCEDURE定义本身可包括除下列CREATE语句以外的任何数量和类型的SQL语句,存储过程中的任意地方都不能使用下列语句:

CREATEDEFAULT

CREATETRIGGER

CREATEPROCEDURE

CREATEVIEW

CREATERULE

 

l        存储过程中参数的最大数目为2100。

l        可以在存储过程内引用临时表。

l        如果在存储过程内创建本地临时表,则该临时表仅为该存储过程而存在;退出该存储过程后,临时表即会消失。
1.2.2创建存储过程
示例:

CREATEPROCEDURE[PR_insert_casebrief_NEW]

@p_Casebrief_codeasvarchar(50),@p_Object_idasinteger,@p_Spy_starttimeasdatetime,

@p_Spy_endtimeasdatetime,@p_Casebrief_idasintegerout

as

insertintoCase_brief_telecom(Casebrief_code,object_id,Spy_starttime,Spy_endtime,)

values(@p_Casebrief_code,@p_Object_id,@p_Spy_starttime,@p_Spy_endtime)

select@p_Casebrief_id=@@identity

GO

****p_Casebrief_id为该表的主键,自动增长。

l        Microsoft®SQLServer™2000存储过程以四种方式返回数据:

1、输出参数,既可以返回数据(整型值或字符值等),也可以返回游标变量(游标是可以逐行检索的结果集)。

2、返回代码,始终是整型值。

3、SELECT语句的结果集,这些语句包含在该存储过程内或该存储过程所调用的任何其它存储过程内。上一页 
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击