调用无参数的存储过程
Ⅰ c# 调用存储过程,不用传参数名,要如何实现
我建议找个sqlhelper 学习一下。参数么,当然只是传值用的,
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
Ⅱ 没有输出参数的存储过程,调用时可以不必使用exec关键字吗
应该不行,它是数据库规定的一种格式,建存储过的时候是 create proc us_name用的时候 就使用 exec us_name 调用,我觉得如果你不写exec 数据库没法区分你的存储过程名就叫是什么东西,是个表名?视图?变量?但是你用了这个exec关键字,数据库管理系统就知道你是想调用一个存储过程了
Ⅲ C# 调用Oracle 无参存储过程出错
第一行第七列,调用PR_USERINFO_DATA_UPDATE时遇到错误的参数个数或类型
看看你给的参数全不全,是不是丢了,或者类型不匹配。
Ⅳ 在plsql中如何调用一个无参数的存储过程
外面调用,就直接简单的
declare
v_city
varchar;
v_name
varchar;
begin
my_1102(v_city,
v_name,
'test');
end
就好了。
oracle
存储过程简单的例子如下:
http://hi..com/wangqing999/blog/item/0991d3124070854420a4e9b4.html
Ⅳ mybatis调用无参存储过程
MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。
相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
系列教程limingnihao.iteye.com/blog/781671
Ⅵ oracle怎么写一个无参存储过程去调用一个有参数有返回值的存储过程
create
procere
proc_a
as
declare
b
int;
c
varchar2(10);
begin
proc_b(b,
c);
dbms_output.put_line
(c);
end
procere
a;
你照我这个写吧
proc_b(b,
c);
proc_b是你调用的带返回参数的存储过程
b是输入变量,c是输出变量
Ⅶ 问题一: java中调用oracle无参存储过程报错.问题二: sqlplus如何exec oracle带out参数的存储过程.
第二个问题:先申明out参数,再执行过程,记得过程中out参数前的冒号。
即:SQL> VAR PROLD2 VARCHAR;
SQL> EXEC PRO_selectById(proId1value,:PROLD2);
回车显示PL/SQL procere successfully completed即表示执行成功。(注意proId1value表示入参的值)
Ⅷ 创建无参数存储过程有什么作用
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
1.可以在单个存储过程中执行一系列 SQL 语句。
2.可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
3.存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。
Ⅸ 为什么存储过程语法正确,但执行报错,说是没有参数
肯定阿
我给你举个例子
create proc test_proc @test1 int, @test2 int
as
select * from test
if @test1>=@test2
begin
print '第二个传入的值必须比第一个值大'
end
else
begin
while @test1<=@test2
begin
print @test1
set @test1=@test1+1
end
end
如果你这么调用的话
exec test_proc
错误
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test1',但未提供该参数。
如果你
exec test_proc 1
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test2',但未提供该参数。
因为我这个存储过程定义了两个参数
所以你调用的时候必须写两个参数
比如:
exec test_proc 1,2
这样才可以阿
Ⅹ C#调用无参数存储过程获取OUTPUT返回值
cmd.CommandType=CommandType.StoredProcere;
SqlParameterparameter=newSqlParameter("@MsgID",SqlDbType.Int);
parameter.Direction=ParameterDirection.Output;
cmd.Parameters.Add(parameter);
cmd.ExecuteNonQuery();