1.OUPUT参数返回值
例: 向Order表插入一条记录,返回其标识
CREATE
PROCEDURE
[
dbo
]
.
[
nb_order_insert
]
(
@o_buyerid
int
,
@o_id
bigint
OUTPUT
)
AS
BEGIN
SET
NOCOUNT
ON
;
BEGIN
INSERT
INTO
[
Order
]
(o_buyerid )
VALUES
(
@o_buyerid
)
SET
@o_id
=
@@IDENTITY
END
END
存储过程中获得方法:
DECLARE
@o_buyerid
int
DECLARE
@o_id
bigint
EXEC
[
nb_order_insert
]
@o_buyerid
,o_id
bigint
2.RETURN过程返回值
CREATE
PROCEDURE
[
dbo
]
.
[
nb_order_insert
]
(
@o_buyerid
int
,
@o_id
bigint
OUTPUT
)
AS
BEGIN
SET
NOCOUNT
ON
;
IF
(
EXISTS
(
SELECT
*
FROM
[
Shop
]
WHERE
[
s_id
]
=
@o_shopid
))
BEGIN
INSERT
INTO
[
Order
]
(o_buyerid )
VALUES
(
@o_buyerid
)
SET
@o_id
=
@@IDENTITY
RETURN
1
— 插入成功返回1
END
ELSE
RETURN
0
— 插入失败返回0
END
存储过程中的获取方法
DECLARE
@o_buyerid
int
DECLARE
@o_id
bigint
DECLARE
@result
bit
EXEC
@result
=
[
nb_order_insert
]
@o_buyerid
,o_id
bigint
3.SELECT 数据集返回值
CREATE
PROCEDURE
[
dbo
]
.
[
nb_order_select
]
(
@o_id
int
)
AS
BEGIN
SET
NOCOUNT
ON
;
SELECT
o_id,o_buyerid
FROM
[
Order
]
WHERE
o_id
=
@o_id
GO
存储过程中的获取方法
(1)、使用临时表的方法
CREATE
TABLE
[
dbo
]
.
[
Temp
]
(
[
o_id
]
[
bigint
]
IDENTITY
(
1
,
1
)
NOT
FOR
REPLICATION
NOT
NULL
,
[
o_buyerid
]
[
int
]
NOT
NULL
)
INSERT
[
Temp
]
EXEC
[
nb_order_select
]
@o_id
– 这时
Temp
就是EXEC执行SELECT 后的结果集
SELECT
*
FROM
[
Temp
]
DROP
[
Temp
]
— 删除临时表
(2)、速度不怎么样.(不推荐)
SELECT
*
from
openrowset
(’provider_name
'
,
'
Trusted_Connection
=
yes’,
'
exec nb_order_select’)
分享到:
相关推荐
PL/SQL Developer为简化日常开发专门提供了几种工具。使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话...
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。 存储过程和函数存在以下几个...
3、对列起别名:有直接起别名,加AS起别名,用双引号起别名等三种方法 (单引号,引起字符串;双引号,引起别名。起别名有符号,或者区分大小写时,必须用双引号) 多表查询时,可给表起别名。(给列起别名,列<空格...
作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...
工具——PL/SQL Developer为简化日常开发专门提供了几种工具。使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、...
图片的常见存储与读取凡是有以下几种: 存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[]. 1.参数是图片路径:返回Byte[]类型: public byte[] ...
3.SQL Server 2012支持的用户自定义函数有几种?每一种函数的函数体是什么?返回值是什么? 答:标量函数、内联表值函数、多语句表值函数。 标量函数的函数体是可以是一系列SQL语句,返回值是一个标量值; 内联表值...
70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( ...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 47、sleep() 和 wait() 有什么区别? 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 ...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...