SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。
返回值参数不是一个形参,而类似于编程中的返回值类型。它都是通过Return语句来返回的,而且在SQL Server中,必须返回INT型的数据,而且很显然,只能有一个返回值,因为RETURN语句其实是会终止SQL Server存储过程的。
例子:
ALTER PROCEDURE [dbo][GetCustomers](@rowcount INT OUTPUT)
AS
SELECT [CustomerID]
,[CompanyName]
,[ContactName]
,[ContactTitle]
,[Address]
,[City]
,[Region]
,[PostalCode]
,[Country]
,[Phone]
,[Fax]
FROM [Northwind][dbo][Customers]
SET @rowcount=@@rowcount
问题出在
if cond<>"" then
sql="select name,master from class where " & cond
end if
如果 cond="" 时,那么你就没有为sql变量赋值,也就是说 sql 将是空字符串,使用空字符串做为SQL查询来调用rsopen方法就会出错了
数据库大致可以这么分类:
1关系数据库
11大型商业数据库:支持数据存储量大,访问效率高,适合大型企业应用,收费较高,具体包括:
Oracle
DB2(IBM)
SYbase(这个是比较早的,公司现在不做数据库了)
SQL
SERVER,版本包括2000,2005,2008,
2012等
12
中小型应用数据库:
SQL
SERVER
2000
Acess
Visual
foxpro
13
中小型开源数据库:
MYSQL(这个开源数据库在一些大型应用中会以集群的方式使用)
PostgreSQL
SQLite
14嵌入式数据库:
SQLite也可以算在这里
15
列存储模式数据库:主要用于研究和数据仓库应用
MonetDB
2
面向对象数据库
Berkeley
DB(现在已经被Oracle买下了)
Oracle也提供了面向对象的功能
3
XML数据库,这类数据库一般是附属于关系数据库功能的,只有研究型的是处理纯XML文档的
DB2
,附加XML处理版本
Oracle,里面包含XML查询功能
SQLSERVER,包含XML数据查询功能
4
NOSQL数据库,目前大型互联网公司和微博等网站广泛使用的数据存储系统,典型的有:
HBase
Cassandar
MongoDB
还有很多,这里不逐一列列举了
闲话不说。把我以前写的给你参照下:
#region 通过手机号查出该手机号是哪个省的
/// <summary>
/// 通过手机号查出该手机号是哪个省的
/// </summary>
/// <param name="quhao"></param>
/// <returns></returns>
public string GetProvinceBySJH(string SJH)
{
//通过手机号段得到该号段是属于哪个省
try
{
string province;
cmd=new SqlCommand("GetProvinceBySJH",Conn);
cmdCommandType=CommandTypeStoredProcedure;
cmdParametersAdd("@sjh",SJH);
cmdParametersAdd("@province",SqlDbTypeVarChar,20)Direction = ParameterDirectionOutput;
openconn();
cmdExecuteNonQuery();
province=cmdParameters["@province"]ValueToString()Trim();
closeconn();
return province;
}
catch
{
return "";
}
}
#endregion
SQL 2000中存储过程:
CREATE PROCEDURE dboGetProvinceBySJH
(
@sjh varchar(7),
@province varchar(20) OUTPUT
)
AS
select top 1 @province=province from ChinaSJHD where mobile=@sjh
GO
需要的注意的是:SqlDbTypeVarChar,20要跟数据库对应大小要写成一样。否则报错。我试过的。
一般初学者都容易把MYSQL数据库的一些数据类型搞混,下面是它的基本的数据类型:
(1)数值型
数值是诸如32 或1534 这样的值。MySQL 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“-”)和一个整数指数来表示。124E+12 和2347e-1 都是合法的科学表示法表示的数。而124E12 不是合法的,因为指数前的符号未给出。
浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。
数值前可放一个负号“-”以表示负值。
(2)字符(串)型
字符型(也叫字符串型,简称串)是诸如“Hello, world!”或“一个馒头引起的血案”这样的值,或者是电话号码87398413这样的值。既可用单引号也可用双引号将串值括起来。
(3)日期和时间型
日期和时间是一些诸如“2006-07-12”或“12:30:43”这样的值。MySQL还支持日期/时间的组合,如“2006-07-12 12:30:43”。
(4)NULL值
NULL表示未知值。比如填写表格中通讯地址不清楚留空不填写,这就是NULL值。
这是最常见和常用的,希望对你有所帮助。
以上就是关于sql server存储过程的参数有哪些类型全部的内容,包括:sql server存储过程的参数有哪些类型、关于Asp连接数据库时出现参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。、数据库有哪些类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)