sqlserver exec 返回结果集_tcp返回结果出错_update 执行返回结果

电脑杂谈  发布时间:2019-08-21 20:02:03  来源:网络整理

sqlserver exec 返回结果集_update 执行返回结果_tcp返回结果错误

DECLARE @s varchar(10),@a INT

或者:

AS
   declare @RESULT1  VARCHAR(200) = ''
   declare @sql1  VARCHAR(200) = ''
   declare @CI_ORDER_LINE_ID DECIMAL = 0
   declare @CI_ID DECIMAL = 0
   declare @CI_CODE VARCHAR(100) = ''
   declare @CATEGORY_CODE VARCHAR(50) = ''
   declare @FN_7 DECIMAL = 0
begin 

3、Update语句中表名不可设置别名

UPDATE SYS_CODE SET NEXT_NUMBER = 1,CUR_DATE = GETDATE()

==============================================================

SQL Server存储过程中的返回值的两种方式 :

-----方法1
CREATE PROC TEST1
  @PA1 INT,
  @PA2 INT
AS
  RETURN @PA1+@PA2
GO
--//查询分析器中获取结果:
DECLARE @PA3 INT
EXEC @PA3=TEST1 3,4
SELECT @PA3
-----方法2
CREATE PROC TEST2
  @PA1 INT,
  @PA2 INT,
  @PA3 INT OUTPUT
AS
  SET @PA3 = @PA1 + @PA2
GO
DECLARE @PA4 INT
EXEC TEST2 2,4,@PA4  OUTPUT
SELECT @PA4 

==============================================================

获取存储过程的返回值--通过查询分析器获得

sqlserver exec 返回结果集_tcp返回结果错误_update 执行返回结果

(1)不带任何参数的存储过程(存储过程语句中带有return)

---创建存储过程

CREATE PROCEDURE  testReturn
 AS
 return 145
 GO
 ---执行存储过程
 DECLARE @RC int
 exec @RC=testReturn
 select @RC 

---说明

查询结果为145

(2)带输入参数的存储过程(存储过程语句中带有return)

---创建存储过程

create procedure sp_add_table1
  @in_name varchar(100),
  @in_addr varchar(100),
  @in_tel varchar(100)
 as
  if(@in_name = '' or @in_name is null)
   return 1
  else
   begin
    insert into table1(name,addr,tel) values(@in_name,@in_addr,@in_tel)
    return 0
   end

---执行存储过程

<1>执行下述,返回1

update 执行返回结果_sqlserver exec 返回结果集_tcp返回结果错误

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

<2>执行以下,返回0

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

---说明

查询结果不是0就是1

(3)带输出参数的存储过程(存储过程中可以有return可以没有return)

例子A:

---创建存储过程

 create procedure sp_output
  @output int output
 as
  set @output = 121
  return 1

---执行存储过程

tcp返回结果错误_sqlserver exec 返回结果集_update 执行返回结果

<1>查询分析器中键入以下执行,返回121

 declare @out int
 exec sp_output @out output
 select @out

<2>执行下列,返回1

 declare @out int
 declare @count int
 exec @count = sp_output @out output
 select @count

---说明

有return,只要查询输出参数,则查询结果为输出参数在储存过程中最终成为的值;只要不查询输出参数,则查询结果为return返回的值

例子B:

---创建存储过程

 create procedure sp_output
  @output int output
 as
  set @output = 121

---执行存储过程

update 执行返回结果_sqlserver exec 返回结果集_tcp返回结果错误

<1>执行下列,返回121

 declare @out int
 exec sp_output @out output
 select @out

<2>执行下列,返回0

 declare @out int
 declare @count int
 exec @count = sp_output @out output
 select @count

---说明

没有returnsqlserver exec 返回结果集,只要查询输出参数,则查询结果为输出参数在储存过程中最终成为的值;只要不查询输出参数,则查询结果为0

总结:

(1)存储过程共分为3类:

A.返回记录集的储存过程---------其执行结果是一个记录集,例如:从中检索出符合某一个或几个条件的记录

B.返回数值的储存过程(也可以称为标量存储过程)-----其执行完之后返回一个值,例如:在中执行一个有返回值的变量或命令

C.行为存储过程---------用来实现的某个用途,而没有返回值,例如:在中的升级和删除操作

(2)含有return的储存过程其返回值为return返回的那个值

(3)没有return的存储过程,不论执行结果有无记录集,其返回值是0

(4)带输出参数的内存过程:如果有return则返回return返回的那个值sqlserver exec 返回结果集,如果要select输出参数,则出现输出参数的值,于有无return无关


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-120079-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 龚正峰
        龚正峰

        但是马云你肯定是看不到的

      • 吕静
        吕静

        把群里的人全部拉来了我够了吧

      • 饭泉学
        饭泉学

        结果全军覆没

        • 佐仓美咲
          佐仓美咲

          你知道什么意思了吧

      热点图片
      拼命载入中...