执行存储过程参数
执行带参数的存储过程的方法如下:
Exec sp_configure 'allow updates',1 --允许更新系统表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是两个例子。
SQL Server中执行带参数的存储过程的方法是:
EXEC 存储过程名字 '参数1','参数2',数值参数
EXEC 是一个关键字。
字符串参数使用单引号括起来,数值参数不需要使用单引号
B. SQL Server 如何执行 带参数的 存储过程
带参数的存储过程执行方法如下:
(1)调用通用数据访问类:SqlHelper,执行SqlHelper.ExecuteNonQuery()方法
(2)使敬誉春用示例:SqlHelper.ExecuteNonQuery(conn,CommandType.StoredProcere,sqlexec,myparm)
(3)其中传递的4个参数如下:
“conn”:为链接字符
“CommandType.StoredProcere”:表示要执亮耐行的SQL存储过程类型
“sqlexec”:要执行的SQL存储过程
“myparm”:为传递的参虚冲数,它需要参数的初始化、赋予参数名称、设定类型、长度和值等
(4)当ExecuteNonQuery()执行select 查询时,结果总是返回-1。ExecuteNonQuery()执行Update、Insert和Delete语句时,返回值为该命令所影响的行数。
C. oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,
1、新建一个存储过程(Procere)。
D. sql数据库中怎样调用带参数的存储过程
1、使用SQL语句
--a)方式一
--exec存储过程名称参数名='值'
execP_Titles_ByType@type='business'
go
--b)方式二
--exec存储过程名称参数值
execP_Titles_ByType'business'
2、可视化操作
a.在数据库中找到要执行的存储过程
b.右击存储过程,在出现的菜单中选择执行存储过程选项
c.在新出现的对话框中,在对应的参数后面的值列填入对应的参数值
d.填写完参数值,最后点击确定,然后查询结果会出现
图-b
E. 在java中怎样执行sqlserver的存储过程,带输入参数和输出参数,举个例子
用java调用:
class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\"); //加载驱动
Connection con=DriverManager.getConnection(\"Jdbc:Odbc:test\",\"sa\",\"\"); //获得连接
String call=\"{call proc_select(?,?)};\" //调用语句
CallableStatement proc=con.preparecall(call); //调用存储过程
proc.setString(1,\"12345678\"); //给输入参数传值
proc.registerOutParameter(2,Type.varchar); //声明输出参数是什么类型的
proc.execute(); //执行
String address=proc.getString(2); //获得输出参数
F. oracle 中用什么命令执行一个带参数的存储过程
具体如下:
1、第一步,创建一个新的存储过程,见下图,转到下面的步骤。
G. oracle 中用什么命令执行一个带参数的存储过程
具体如下:
1、第一步,创建一个新的存储过程,见下图,转到下面的步骤。
H. oracle带参(传入,传出)的存储过程怎么执行
1、新建存储过程,Create or ReplaceProcere CHK_SYS_EMP 检查系统工号。
I. 存储过程中如何执行带输出参数的动态SQL
SQL Server存储过程中执行带输出参数的动态sql是很多人经常碰到的问题,比如根据一些条件查询列表,并返回记录数等。下面是一个参考示例,查询用户列表,它可以利用临时表实现翻页,并带有死锁和超时检测功能。 CREATE PRocere pUserList ( @UserType char(2), @pagenum int, @perpagesize int, @pagetotal int out, @rowcount int out ) as set nocount on DECLARE @Err INT,@ErrCounter INT declare @sql nvarchar(2000) --声明动态sql执行语句 declare @pagecount int --当前页数 declare @sWhere nvarchar(200) declare @sOrder nvarchar(100) set @sWhere = ' where 1=1 ' if not(@UserType is null) set @sWhere = @sWhere + ' and UserType = ' + @UserType set @sOrder = ' order by UserID ' --取得当前数据库的记录总数 declare @row_num int LockTimeOutRetry: --创建临时表,作为数据过滤 create table #change (T_id int) set @sql = 'select @row_num=count(*) from dbo.[User]' + @sWhere exec sp_executesql @sql,N'@row_num int output', @row_num output if @row_num % @perpagesize =0 set @pagetotal = @row_num/@perpagesize else set @pagetotal = @row_num/@perpagesize + 1 set @rowcount = @row_num if @row_num > @perpagesize begin set @row_num = @pagenum * @perpagesize if @row_num = @perpagesize begin set @sql = N'select top ' + cast(@perpagesize as varchar) + ' UserID,LoginName,RealName from dbo.[User]' + @sWhere + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end else begin set @row_num = (@pagenum-1) * @perpagesize set @pagecount = @row_num set @sql=N'insert #change (T_id) select top ' + cast(@pagecount as varchar) + ' UserID from dbo. [User] '+@sWhere+' and UserID not in (select T_id from #change)' + @sOrder exec sp_executesql @sql set @sql = N'select top ' + cast(@perpagesize as varchar) + ' UserID,LoginName,RealName from dbo.[User] '+@sWhere+' and UserID not in (select T_id from #change)' + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end end else begin set @sql = 'select UserID,LoginName,RealName from dbo.[User]' + @sWhere + @sOrder exec sp_executesql @sql SET @Err = @@ERROR IF @Err <> 0 GOTO ErrorHandler return 0 end ErrorHandler: IF (@Err = 1222 OR @Err = 1205) AND @ErrCounter = 5 BEGIN RAISERROR ('Unable to Lock Data after five attempts.', 16,1) return -100 END IF @Err = 1222 OR @Err = 1205 -- Lock Timeout / Deadlock BEGIN WAITFOR DELAY '00:00:00.25' SET @ErrCounter = @ErrCounter + 1 GOTO LockTimeOutRetry END -- else unknown error RAISERROR (@err, 16,1) WITH LOG return -100 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO