当前位置:首页 » 存储配置 » 有输出的存储过程

有输出的存储过程

发布时间: 2022-06-20 04:50:14

sql Server 关于带输出的存储过程

CREATE proc pr_login
@ActName Varchar(12),
@Pwd VarChar(50)
as
select count(*) 'Count' from Account
where ActName=@ActName and Pwd=@Pwd
if count=1
begin
update Account set Online=1 where ActName=@ActName
end
这样?不确定

❷ C#中调用有输入参数,有输出的存储过程;具体情况如下代码

(1)执行一个没有参数的存储过程的代码如下:

SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.selectCommand = new SqlCommand();
da.selectCommand.Connection = conn;
da.selectCommand.CommandText = "NameOfProcere";
da.selectCommand.CommandType = CommandType.StoredProcere;
(2)执行一个有参数的存储过程的代码如下

SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.selectCommand = new SqlCommand();
da.selectCommand.Connection = conn;
da.selectCommand.CommandText = "NameOfProcere";
da.selectCommand.CommandType = CommandType.StoredProcere;
param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Input;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param);
若需要添加输出参数:

param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Output;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param);
若要获得参储过程的返回值:

param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.ReturnValue;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param);

❸ oracle存储过程如何输出信息

可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。

编写存储过程:

create or replace procere test_pro(in_num number)

as

M number;

begin

M := in_num;

if 0 < M then

dbms_output.put_line('输出SQL语句1');

elsif M < 3 then

dbms_output.put_line('输出SQL语句2');

else

dbms_output.put_line('nothing');

end if;

end;

(3)有输出的存储过程扩展阅读;

存储在数据库的数据字典中,存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序,安全性靠应用程序来保证,如果能执行应用程序,就能执行该子程序。模式描述IN参数用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。

❹ 存储过程参数输入和输出参数有什么作用

无论是输入的参数还是输出的参数,在此过程中都视为一个参数,所以一般情况下对应你定义的参数类型和个数带入,便可调用。

存储过程后面的是参数列表,其实存储过程就是个方法,通过传递参数来指导方法完成。输出参数相当于返回值,会带output关键字。

其它参数要提前赋值,而output不需要提前赋值,只需要提供一个变量,在存储过程执行完的时候,output类型的变量值就会修改,获得返回值,只能通过这个方法获得返回值,而不能像函数一样直接返回结果。因为存储过程是没有返回值的。

(4)有输出的存储过程扩展阅读

1、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2、当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

3、存储过程可以重复使用,可减少数据库开发人员的工作量。

4、安全性高,可设定只有某些用户才具有对指定存储过程的使用权。

❺ 带输出参数的存储过程PL/SQL的小例子

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace StoreProceTest
{
public class Program
{
/**
* 存储过程
*
* create procere queryStuNameById
@stuId varchar(10),--输入参数
@stuName varchar(10) output --输出参数
as
select @stuName=stuName from stuInfo where stuId=@stuId
*
*/

static void Main(string[] args)
{
Operater op = new Operater();
string name = op.QueryStuNameById("1234");
Console.WriteLine(string.Format("学号为1234的学生的姓名为{0}", name));
}
}
public class Operater
{
private string ConStr = "server=.;database=User;uid=sa;pwd=1234";
private SqlConnection sqlCon = null;
private SqlCommand sqlComm = null;
SqlDataReader dr = null;
public string QueryStuNameById(string Id)
{
string name = "";
try
{
using (sqlCon = new SqlConnection(ConStr))
{
sqlCon.Open();
sqlComm = new SqlCommand("queryStuNameById", sqlCon);
//设置命令的类型为存储过程
sqlComm.CommandType = CommandType.StoredProcere;
//设置参数
sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);
//注意输出参数要设置大小,否则size默认为0,
sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);
//设置参数的类型为输出参数,默认情况下是输入,
sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
//为参数赋值
sqlComm.Parameters["@stuId"].Value = "1234";
//执行
sqlComm.ExecuteNonQuery();
//得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
name = sqlComm.Parameters["@stuName"].Value.ToString();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return name;
}
}
}

❻ 在MySQL中如何创建一个带输出参数为一个表类型的存储过程

在MySQL中如何创建一个带输出参数为一个表类型的存储过程
首先需要知道“另一个存储过程”的结果集的所有列的类型。
假设“另一个存储过程”的名字是sp1,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集
如下
CREATE
PROCEDURE
sp2
AS
DECLARE
@t
table(a
int,b
int,c
int)
INSERT
INTO
@t(a,b,c)
EXEC
sp1
SELECT
*
FROM
@t
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。
创建存储过程
和数据表一样,在使用之前需要创建存储过程,它的简明语法是:
引用:
Create
PROC
存储过程名称
[参数列表(多个以“,”分隔)]
AS
SQL
语句
例:
引用:
Create
PROC
upGetUserName
@intUserId
INT,
@ostrUserName
NVARCHAR(20)
OUTPUT
--
要输出的参数
AS
BEGIN
--
将uName的值赋给
@ostrUserName
变量,即要输出的参数
Select
@ostrUserName=uName
FROM
uUser
Where
uId=@intUserId
END
其中
Create
PROC
语句(完整语句为Create
PROCEDURE)的意思就是告诉SQL
SERVER,现在需要建立一个存储过程,upGetUserName
就是存储过程名称,@intUserId

@ostrUserName
分别是该存储过程的两个参数,注意,在SQL
SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL
SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。
二、存储过程的调用
之前已经创建了一个名为“upGetUserName”的存储过程,从字面理解该存储过程的功能是用来取得某一个用户的名称。存储过程建立好了,接下来就是要在应用程序里调用了,下面看一下在ASP程序里的调用。

❼ oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,

1、新建一个存储过程(Procere)。

❽ plsql中怎么调用带输出参数的存储过程

1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示。

❾ 如何执行带输出参数的存储过程

如果你用的是oracle的话, 你在点击相应的存储过程的时候, 右键, 有一个test, 这个test就类似于调式执行, 你可以在 界面上输入参数, 然后点击 图标 有一个放大镜的那个, 点击 绿色的箭头, 最后输出结果 会在 你输入参数的地方 有 显示, 查看就行

❿ sql 怎么执行带输出参数的存储过程

1、
对象资源管理器
中选中你要执行的存储过程
2、右击选择
对话框中的执行存储过程...
3、在出现的对话框中填入你参数的值
点击确定

热点内容
linuxjdk是否安装 发布:2025-01-01 12:01:17 浏览:208
均值滑动算法 发布:2025-01-01 11:53:46 浏览:387
无线网加密设置 发布:2025-01-01 11:53:03 浏览:22
mfc画图源码 发布:2025-01-01 11:50:54 浏览:979
光遇小王子季什么时候结束安卓 发布:2025-01-01 11:43:10 浏览:956
腾讯云如何申请免费云服务器 发布:2025-01-01 11:42:14 浏览:347
uu跑腿跑男端抢单脚本靠谱不 发布:2025-01-01 11:28:33 浏览:347
pythonreshape1 发布:2025-01-01 11:24:18 浏览:363
编程转正表 发布:2025-01-01 11:24:10 浏览:191
创客编程需要什么配置电脑 发布:2025-01-01 11:22:44 浏览:499