- 浏览: 1647812 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
本文从多个角度阐述了SQL Server与存储过程的比较。
①为什么要使用存储过程?
因为它比SQL语句执行快。
②存储过程是什么?
把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句。
③来一个最简单的存储过程:
CREATE PROCEDURE dbo.testProcedure_AX
AS
select userID from
USERS order by userid desc
注:dbo.testProcedure_AX是你创建的存储过程名,可以改为:AXzhz等,别跟关键字冲突就行了.AS下面就是一条SQL语句,不会写SQL语句的请回避。
④怎么在ASP.NET中调用这个存储过程:
public static string GetCustomerCName
(ref ArrayList arrayCName,ref ArrayList arrayID)
{
SqlConnection con=ADConnection.createConnection();
SqlCommand cmd=new SqlCommand("testProcedure_AX",con);
cmd.CommandType=CommandType.StoredProcedure;
con.Open();
try
{
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
if(dr[0].ToString()=="")
{
arrayCName.Add(dr[1].ToString());
}
}
con.Close();
return "OK!";
}
catch(Exception ex)
{
con.Close();
return ex.ToString();
}
}
注:其实就是把以前:
SqlCommand cmd=new SqlCommand("select
userID from USERS order by userid desc",con);
中的SQL语句替换为存储过程名,再把cmd的类型标注为CommandType.StoredProcedure(存储过程)。
⑤写个带参数的存储过程:
CREATE PROCEDURE dbo.AXzhz
/*
这里写注释
*/
@startDate varchar(16),
@endDate varchar(16)
AS
select id from table_AX where commentDateTime>
@startDate and commentDateTime<@endDate order
by contentownerid DESC
注:@startDate varchar(16)是声明@startDate 这个变量,多个变量名间用【,】隔开.后面的SQL就可以使用这个变量了。
⑥我怎么在ASP.NET中调用这个带参数的存储过程:
public static string GetCustomerCNameCount
(string startDate,string endDate,ref DataSet ds)
{
SqlConnection con=ADConnection.createConnection();
//-----------------------注意这一段-------------------
--------------------------------------------------------
-----------------------------
SqlDataAdapter da=new SqlDataAdapter("AXzhz",con);
para0=new SqlParameter("@startDate",startDate);
para1=new SqlParameter("@endDate",endDate);
da.SelectCommand.Parameters.Add(para0);
da.SelectCommand.Parameters.Add(para1);
da.SelectCommand.CommandType=CommandType.StoredProcedure;
//-------------------------------------------------------------
------------------------------------------------------------------
try
{
con.Open();
da.Fill(ds);
con.Close();
return "OK";
}
catch(Exception ex)
{
return ex.ToString();
}
}
注:把命令的参数添加进去,就可以了。
⑦重新验证SQL命令执行是否成功。
CREATE PROCEDURE dbo.AXzhz
/*
@parameter1 用户名
@parameter2 新密码
*/
@password nvarchar(20),
@userName nvarchar(20)
AS
declare @err0 int
update WL_user set password=@password where UserName=@userName
set @err0=@@error
select @err0 as err0
注:先声明一个整型变量@err0,再给其赋值为@@error(这个是系统自动给出的语句是否执行成功,0为成功,其它为失败),最后通过select把它选择出来。
⑧那怎么从后台获得这个执行成功与否的值:
下面这段代码可以告诉你答案:
public static string GetCustomerCName()
{
SqlConnection con=ADConnection.createConnection();
SqlCommand cmd=new SqlCommand("AXzhz",con);
cmd.CommandType=CommandType.StoredProcedure;
para0=new SqlParameter("@startDate","2006-9-10");
para1=new SqlParameter("@endDate","2006-9-20");
da.SelectCommand.Parameters.Add(para0);
da.SelectCommand.Parameters.Add(para1);
con.Open();
try
{
Int32 re=(int32)cmd.ExecuteScalar();
con.Close();
if (re==0)
return "OK!";
else
return "false";
}
catch(Exception ex)
{
con.Close();
return ex.ToString();
}
}
注:就是通过SqlCommand的ExecuteScalar()方法取回这个值。
⑨我要根据传入的参数判断执行哪条SQL语句:
ALTER PROCEDURE dbo.selectCustomerCNameCount
@customerID int
AS
if @customerID=-1
begin
select contentownerid ,userCName,count(*)
as countAll from view_usercomment group by
contentownerid,userCName order by contentownerid DESC
end
else
begin
select contentownerid ,userCName,count(*)
as countAll from view_usercomment where
contentownerid=@customerID group by contentownerid
,userCName order by contentownerid DESC
end
发表评论
-
MSSQ客户端连接服务器端的注意事项
2010-05-06 14:00 13561、MSSQL2008能连接MSSQL2000、MSSQL20 ... -
SQL Server中,varchar和nvarchar如何选择
2010-02-03 15:29 1812引用 varchar(n) 长度为 n ... -
SQL分页语句
2009-12-28 16:38 1258有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。 ... -
同一字段根据不同条件更新的sql语句的写法
2009-12-22 11:34 4132update test set 字段1=case wh ... -
安装SQL2000时出现 ntvdm遇到一个硬错误的处理办法
2009-12-21 09:04 3244不要去运行AUTORUN.EXE 运行这个就会提示:“NTVD ... -
decimal和float类型的区别
2009-12-19 11:11 2557decimal 类型可以精确地表示非常大或非常精确的小数。大至 ... -
如何控制数据库中的用户,只能看到某个库?
2009-11-25 20:55 1351可以通过设置该帐户的用户映射。注意:虽然在客户端可以看到服务器 ... -
MS SQL Server 数据库命名规范
2009-11-17 15:30 1901设计原则 符号三大范式(每一列表达一个意思,每一行代表一个实 ... -
sql 根据某一字段查询不重复记录,同时要查询出所有满足条件的字段信息
2009-10-15 18:09 2515引用 比如有一张表A:有字段ID,Name,Time,Pass ... -
查看mssql的版本信息SQL语句
2009-10-08 11:42 1445SELECT SERVERPROPERTY('produ ... -
聚集索引和非聚集索引的区别
2009-09-06 16:38 1952聚集索引和非聚集索引的区别 收藏 聚集索引和非聚集索引的 ... -
修改了操作系统管理员的密码,数据库会连不上,应该怎么解决
2009-08-24 18:03 1304一台安装了Windows 2000 操作系统和SQL Serv ... -
分页SQL语句
2009-07-16 09:44 1316一、 select top 每页显示的记录数 * from ... -
Sql server中的Text数据类型
2009-04-23 11:37 4187在什么情况下应用这个类型 引用 超过 8KB 的ASC ... -
UNION 和UNION ALL 的区别
2009-04-22 14:42 1234在数据库中,UNION和UNION ALL关键字都是将两个结果 ... -
第一次写动态SQL的得到的经验
2009-04-21 16:29 1700前言 引用 用动态SQL写存储过程的原因,项目中有个存储过程必 ... -
SQL事务回滚的问题及其解决的方法
2009-04-20 11:42 8199Begin Transaction:开始一个事务; Commi ... -
sql server 存储过程
2009-04-18 14:11 1384CREATE PROCEDURE testPro AS ... -
修改数据库的文件名和逻辑名
2009-03-03 09:18 38161、修改数据库的逻辑名,可以在sql server的客户端操作 ... -
SQL存储过程概述
2009-02-16 15:11 1491SQL存储过程概述 在 大型数据库系统中,存储过程和触发器具 ...
相关推荐
在数据库管理和编程领域,SQL Server是一种广泛使用的关系型数据库管理系统,而存储过程是SQL Server中的一个重要概念。存储过程是由一组预编译的SQL语句组成的程序,它可以包含控制流语句,并且可以在数据库服务器...
通过上述对比,可以看出Oracle和SQL Server在存储过程的语法上有许多不同之处。在进行数据库迁移时,开发者需要仔细分析现有的Oracle存储过程,然后根据SQL Server的语法特点进行相应的转换。此外,还应考虑到性能...
本压缩包“SQL server语句的学习”旨在提供SQL Server语句的具体实例,帮助学习者深入理解并熟练掌握SQL Server的查询操作。 首先,我们关注的是标签“SQL Server select语句”,这是SQL中最基础也是最常用的语句之...
SQL Server存储过程对比工具是一种高效且实用的软件解决方案,它专为数据库管理员和开发人员设计,用于比较和分析两个SQL Server数据库中的存储过程。这款工具的主要功能是帮助用户快速识别和定位不同数据库间存储...
存储过程对比能找出两个数据库中存储过程的定义差异,包括过程体内的SQL语句、输入/输出参数、返回值等。这有助于在不同环境之间同步存储过程逻辑。 4. **索引对比**: 索引是提升数据库查询性能的关键因素。索引...
3. 触发器和存储过程:SQL Server的触发器和存储过程是数据库逻辑的重要组成部分。在转换时,工具可能需要将这些逻辑转换为MySQL的存储过程或函数,以保持业务逻辑的一致性。 4. 安全性考虑:迁移过程中要确保数据...
13. **存储过程**:存储过程是一组预编译的SQL语句,可重复使用,提高性能并简化代码。它们还可以接受参数,返回值,甚至包含流程控制语句。 14. **触发器**:触发器是一种特殊类型的存储过程,会在特定的DML(数据...
SQL Server连接工具是数据库管理员和开发人员用于与Microsoft SQL Server交互的重要软件。这些工具提供了多种功能,包括数据库的创建、管理、查询、备份、恢复以及性能优化等。在本篇文章中,我们将深入探讨SQL ...
Oracle、SQL Server 及 MySQL 对比 Oracle、SQL Server 及 MySQL 是目前最流行的三大关系数据库管理系统,各有其优缺点。本文将从表空间、查询语句、事务、分区表和分区索引、优缺点等方面对三者进行比较。 表空间...
在提供的文件列表中,"MySQL数据库函数.txt"和"从一个MySQL的例子来学习查询语句.txt"虽然不是SQL Server 2000的内容,但可以作为对比学习,了解不同数据库系统在备份恢复机制上的异同。"数据库查询结果的动态排序....
可对SqlServer的两个数据库表结构等进行详细的比较,十分方便,小巧 SQL语句编写助手SQLAssistant: 对主流数据库Sql Server,Oracle,DB2,MySql,Access等都可用,写脚本或存储过程时提示功能十分强大,十分方便,...
这类工具通常能够帮助用户收集、分析和整理在数据库操作过程中产生的SQL语句,以优化查询性能、找出瓶颈或者进行问题排查。 描述中的“之前上传的不能使用,现在重新上传。之前上传的大家就不要下载了,谢谢!”...
提供的压缩包文件"SQL Server从表结构和数据得到更新SQL语句,可以导库用"很可能包含一个实用工具或脚本,能够自动化上述过程,简化数据库的导出工作。使用这样的工具可以大大提高工作效率,避免手动编写和执行大量...
在SQL Server数据库管理系统中,`Image`数据类型用于存储大对象(LOB,Large Object),如图片、文档或二进制数据。本篇文章将深入探讨如何在SQL Server中对`Image`对象进行操作,包括插入、查询、更新和删除等基本...
2. **Transact-SQL (T-SQL)**:SQL Server使用的SQL方言,它支持标准SQL之外的一些特有功能,如存储过程、触发器、函数等。批量执行的脚本通常包含多条T-SQL语句,可能涉及到数据插入、更新、删除,或者数据库结构的...
### 在SQL Server中通过SQL语句实现分页查询 #### 一、背景介绍 在数据库应用开发中,分页查询是一种常见的技术手段,用于改善用户体验并提高系统性能。特别是当数据量庞大时,一次性加载所有数据到前端不仅会导致...
Oracle 和 SQL Server 是两种广泛应用的关系型...这些对比可以帮助开发者理解和适应在Oracle与SQL Server之间切换时可能遇到的不同语法和使用习惯。理解这些差异对于在两个系统间进行迁移或开发跨平台应用至关重要。
"SQLSERVER表结构对比"这个主题涉及到如何比较两个SQL Server数据库中的表定义,包括字段、索引、约束以及存储过程等差异。 SQL Server 2008 R2是在Windows 2008 R2 64位操作系统上运行的一个强大关系型数据库管理...
本篇资料主要探讨的是在SQL Server中,利用存储过程实现分页查询时的性能对比,旨在帮助数据库管理员选择最优的解决方案。 分页通常有多种实现方式,包括ROW_NUMBER()函数、游标、变量以及一些自定义的存储过程。...
通过上述对比,我们可以看到Oracle与SQL Server在数学函数、字符串处理以及存储过程等方面都有着自己独特的实现方式和特点。理解这些差异对于跨平台迁移数据库应用或进行特定优化工作具有重要意义。