sqlserver创建存储过程、函数、
--有输入参数的存储过程--
create proc GetComment
(@commentid int)
as
select * from Comment where CommentID=@commentid
C# 调用有输入参数的存储过程
SqlConnection conn=new SqlConnection("Server=.;Database=MyDB;uid=sa;pwd=123456");
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="GetComment";
cmd.Parameters.Clear();
cmd.Parameters.Add("@commentid",SqlDbType.Int).Value=1;
DataTable dt=new DataTable();
SqlDataAdapter da=new SqlDataAdapter(cmd);
da.Fill(dt);
GridView1.DataSource=dt;
GridView1.DataBind();
--有输入与输出参数的存储过程--
create proc GetCommentCount
@newsid int,
@count int output
as
select @count=count(*) from Comment where NewsID=@newsid
SqlConnection conn=new SqlConnection("Server=.;DataBase=MyDB;uid=sa;pwd=123456");
SqlCommand cmd=new SqlCommand();
conn.Open();
cmd.Connection=conn;
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="GetCommentCount";
cmd.Parameters.Clear();
cmd.Parameters.Add("@newsid",SqlDbType.Int).Value=2;
SqlParameter sp=new SqlParameter();
sp.ParameterName="@count";
sp.SqlDbType=SqlDbType.Int;
sp.Direction=ParameterDirection.Output;
cmd.Parameters.Add(sp);
Response.Write(sp.Value.ToString());
--返回单个值的函数--
create function MyFunction
(@newsid int)
returns int
as
begin
declare @count int
select @count=count(*) from Comment where NewsID=@newsid
return @count
end
SqlConnection conn=new SqlConnection("Server=.;Database=MyDB;uid=sa;pwd=123456");
SqlCommand cmd=new SqlCommand();
conn.Open();
cmd.Connection=conn;
cmd.CommandText="MyFunction";
cmd.CommandType=CommandType.StoredProcedure; -----这儿要设置为存储过程
cmd.Parameters.Add("@newsid",SqlDbType.Int).Value=2;
SqlParameter sp=new SqlParameter();
sp.ParameterName="@count";
sp.SqlDbType=SqlDbType.Int;
sp.Direction=ParameterDirection.ReturnValue;
cmd.Parameters.Add(sp);
cmd.ExecuteNonQuery();
Response.Write(sp.Value.ToString());
--调用方法--
declare @count int
exec @count=MyFunction 2
print @count
--返回值为表的函数--
Create function GetFunctionTable
(@newsid int)
returns table
as
return
(select * from Comment where NewsID=@newsid)
--返回值为表的函数的调用--
select * from GetFunctionTable(2)
SqlConnection conn=new SqlConnection("Server=.;Database=MyDB;uid=sa;pwd=123456");
SqlCommand cmd=new SqlCommand();
conn.Open();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;//注意这儿设置为文本
cmd.CommandText="Select * from GetFunctionTable(@newsid)";
SqlDataReader dr=cmd.ExecuteReader();
DataTable dt=new DataTable();
dt.Load(dt);
GridView1.DataSource=dt;
GridView1.DataBind();
转载于:https://blog.51cto.com/1906754/502000
sqlserver创建存储过程、函数、相关推荐
- 为什么sqlserver创建存储过程成功,却找不到这个存储过程呢
1.为什么sqlserver创建存储过程成功,却找不到这个存储过程呢? 需要点击工具上,创建存储过程,在那个里面去写存储过程,然后再刷新存储过程就会出现了 注意:如果是在新建查询上面,直接写sql创建 ...
- sqlserver 创建存储过程及基本语法
本文记录sqlserver 创建存储过程及基本语法的讲解,附上作者实现功能的实例 背景:作者的task是需要两个数据库之间进行数据迁移,本可以用java程序来实现,后面觉得可以学习下存储过程,故采用这 ...
- SQLServer 的存储过程与java交互
一. 存储过程简介 Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量.条件执行和其他强大的编程 ...
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)...
存储过程有三种返回: 1. 用return返回数字型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可 ...
- 存储过程和函数——概述||创建存储过程||调用存储过程||查看存储过程||删除存储过程
存储过程和函数概述 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合, 调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理 ...
- 2、MySQL创建存储过程(CREATE PROCEDURE)(函数)
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程. 编写存 ...
- (2)存储过程中可以调用其他存储过程吗?_详解Oracle创建存储过程、创建函数、创建包及实例演示...
概述 说句实在的,平时工作基本上不会去背啥创建存储过程.创建函数.创建包之类的语法,但是相信大家面试啥的却基本会笔试这些,所以就对存储过程.函数和包的语法做下总结,也做个备忘!这里面语法大家理解就可以 ...
- MYSQL中如何创建存储过程和存储函数(上篇)
存储程序分为存储过程和存储函数.在MySQL中创建存储过程和存储函数的语句分别是create procedure 和create function.使用call语句来调用存储过程,只能用输出变量返回值 ...
- MySQL——创建存储过程和函数
简单地说,存储过程就是一条或多条 SQL 语句的集合,可视为批文件,但是其作用不仅限于批处理.存储程序可以分为存储过程和函数.存储过程要用 CALL 语句来调用,并且只能用输出变量返回值. 1. ...
最新文章
- Android 应用程序集成Google 登录及二次封装
- 虚拟机+可信+云计算
- 3、HTML导入外部样式表(HTML导入CSS文件)
- 【Python】PAT-1026 程序运行时间(AC)
- 传奇霸业维护服务器,37传奇霸业8月18日部分区服维护计划
- 零跑科技实现“领跑”背后:频现“质量门”,噱头大于实际?
- Welcome to Xiao
- 学神经网络需要什么基础,神经网络需要什么基础
- 扩展欧几里得算法的证明
- pos机v1,简单pos机
- windows10复制粘贴键突然失效 的一个最简单的解决方法
- android 无线传递文件夹,android 通过WIFI实现文件传输
- gird布局解决 最后一行数量不对布局问题
- 新路由3 H大老毛子,2月20日padavan固件
- 【github】Support for password authentication was removed on August 13,2021.
- Flutter升级到预览版
- TatukGIS Developer Kernel ToolkitWinform GIS编辑器,C#地理信息编辑器,.NET地理信息编辑器...
- Notepad++工具 格式化Json文件格式
- Python 3.11比3.10 快60%:使用冒泡排序和递归函数对比测试
- plsql 查看表结构所有的字段_产品操作MySQL第2篇 – 设计一张表
热门文章
- 《为iPad而设计:打造畅销App》——想象iPad上的游戏
- MySQL还原数据库提示Unknown MySql server host
- 【转载】哈希表的原理,真的很难弄懂么?
- python xlrd简单读取excel
- 需求:整个网站不能出现以下两个链接。思路:检索到网站中凡是出现该链接的都让它的href值为空...
- HDU 5115 Dire Wolf 区间dp
- Java SortedSet接口
- UVA 10405 - Longest Common Subsequence
- ZLMS教学管理平台系统V1.2.0最新版本发布,支持纯Web视频直播点播,还带运营在线支付功能!完全免费提供!...
- Maven最佳实践:版本管理