zoukankan      html  css  js  c++  java
  • MS SQL中的return&output的學習

    /*output的應用*/
    CREATE PROCEDURE [dbo].[sp_output]
    (
       
    @i char(1)='1',
       
    @a varchar(5)=null output
    )
     
    AS
    begin
      
    if(@i='1')
        
    set @a='aaaaa'
      
    else
        
    set @a='bbbbb'
    end
    GO
    /*存儲過程內調用*/
    CREATE PROCEDURE [dbo].[test_output]
    (
      
    @i char(1)='1'
    )
     
    AS
    begin
      
    declare @b varchar(5)
      
    exec sp_output @i,@b output
      
    print @b
    end
    GO
    /*sql script 調用*/
    declare @a varchar(5)
    exec sp_output '2',@a output
    print @a

    /*return的應用*/
    CREATE PROCEDURE [dbo].[sp_return]
    (
       
    @i char(1)='1'
    )
     
    AS
    begin
      
    /*
      --return只能返回一個int類型的值,相反output則可以傳回更多類型的值
      無條件退出查詢或程序。RETURN 是立即而完整的,而且可在任何時刻用於退出程序、批次,或陳述式封鎖。
      其中附隨有 RETURN 的陳述式不會被執行。
      
    */
      
      
    if(@i='1')
        
    return 1
      
    else
        
    return 0
    end
    GO

    /*存儲過程內調用*/

    CREATE PROCEDURE [dbo].[test_return]
    (
      
    @i char(1)='1'
    )
     
    AS
    begin
      
    declare @b varchar(5)
      
    exec @b=sp_return @i
      
    if (@b=1)
        
    print('aaaaa')
      
    else
        
    print('bbbbb')
    end
    GO

    /*sql script 調用*/
    declare @b int
    exec @b=sp_return '1'
    if (@b=1)
      
    print('aaaaa')
    else
      
    print('bbbbb')

    /*return & output同時應用*/
    CREATE PROCEDURE [dbo].[sp_output_return]
    (
       
    @i char(1)='1',
       
    @a varchar(5)=null output
    )
     
    AS
    begin
      
    if(@i='1')
      
    begin
        
    set @a='aaaaa'
        
    return 1
      
    end
      
    else
      
    begin
        
    set @a='bbbbb'
        
    return 0
      
    end
    end
    GO

    /*存儲過程內調用*/
    CREATE PROCEDURE [dbo].[test_output_return]
    (
      
    @i char(1)='1'
    )
     
    AS
    begin
      
    declare @b int
      
    declare @a varchar(5)
      
    exec @b=sp_output_return @i,@a output
      
    print(@a)
      
    print(@b)
    end
    GO


    /*sql script 調用*/
    declare @a varchar(5)
    declare @b int
    exec @b=sp_output_return '1',@a output
    print @a
    print @b

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    【解决】Word中插入图片后变模糊(失真)
    【解决】Windows文件夹没有边框
    【解决】电脑字体突然显示不正常
    NLP与深度学习(六)BERT模型的使用
    NLP与深度学习(五)BERT预训练模型
    NLP与深度学习(四)Transformer模型
    NLP与深度学习(三)Seq2Seq模型与Attention机制
    用ByteArrayOutputStream解决IO流乱码问题
    在vue3中使用vue-property-decorator报错
    python之批量打印网页为pdf文件(二)
  • 原文地址:https://www.cnblogs.com/Athrun/p/1216682.html
Copyright © 2011-2022 走看看