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
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
]
— 删除临时表