精华内容
下载资源
问答
  • SQL 存储过程写法

    2016-02-25 16:00:00
    -- ================================================ -- Template generated from Template Explorer using: ...-- Create Procedure (New Menu).SQL -- -- Use the Specify Values for Template Parameters ...
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Procedure (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- This block of comments will not be included in
    -- the definition of the procedure.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:        
    -- Create  date: 
    -- Description:    
    -- =============================================
    CREATE PROCEDURE dbo.testP --存储过程名
        -- Add the parameters for the stored procedure here
        @pOfficeName varchar(16),@pReMark varchar(16)
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;
    
        -- Insert statements for procedure here
        insert into dbo.T_Office(OfficeName,ReMark) values (@pOfficeName,@pReMark);
    END
    GO

     

    转载于:https://www.cnblogs.com/luyuxibaby/p/5217325.html

    展开全文
  • pl/sql存储过程写法

    2019-07-05 09:26:56
    过程使用CREATE OR REPLACE PROCEDURE语句创建,使用CREATE OR REPLACE PROCEDURE语句简化语法如下: [(parameter_name [IN | OUT | IN OUT] type [, ...])] {IS | AS} BEGIN < procedure_body > END ...

    过程使用CREATE OR REPLACE PROCEDURE语句创建,使用CREATE OR REPLACE PROCEDURE语句简化语法如下:

    [(parameter_name [IN | OUT | IN OUT] type [, ...])]
    {IS | AS}
    BEGIN
      < procedure_body >
    END procedure_name;
    

    这里,

    procedure-name 指定的程序的名称

    [OR REPLACE] 选项允许修改现有的程序

    可选的参数列表中包含的名称,模式和类型的参数。IN表示该值将被从外部传递,OUT表示该参数将被用于从过程返回一个值到外面

    procedure-body 包含可执行部分

    AS关键字来代替了IS关键字用于创建一个独立的程序。

    窗口截图:

    在这里插入图片描述
    该存储过程是查找数组中最大值,并输出,输入参数int_varray是创建的整型数组,创建语法如下:

    create or replace type int_varray as table of int;
    int_varray创建成功截图:

    在这里插入图片描述

    单独的存储过程实例源码:

    /*
    过程使用CREATE OR REPLACE PROCEDURE语句创建,使用CREATE OR REPLACE PROCEDURE语句简化语法如下:
    CREATE [OR REPLACE] PROCEDURE procedure_name
    [(parameter_name [IN | OUT | IN OUT] type [, ...])]
    {IS | AS}
    BEGIN
      < procedure_body >
    END procedure_name;
    这里:
    procedure-name 指定的程序的名称
    [OR REPLACE] 选项允许修改现有的程序
    可选的参数列表中包含的名称,模式和类型的参数。
    IN表示该值将被从外部传递,OUT表示该参数将被用于从过程返回一个值到外面。
    procedure-body 包含可执行部分
    AS关键字来代替了IS关键字用于创建一个独立的程序。
    */
     
    --求数组中的最大值并输出
    create or replace procedure MaxOfVarray(valueList in int_varray,z out int) 
    as
    tmpResult int:=0; 
    begin
      for x in 1..valueList.count loop
          if valueList(x)>=tmpResult then
             tmpResult:=valueList(x);
          end if;
      end loop;
      z:=tmpResult;
    end;  
    

    声明并调用存储过程实例源码:

    /*
    在Oracle的存储过程和函数中,其实IS和AS是同义词,没有什么区别。
    还有在自定义类型(TPYE)和包(PACKAGE)时,使用IS和AS也并没有什么区别。
    但是在创建视图(VIEW)时,只能使用AS而不能使用IS。
    在声明游标(CURSOR)时,只能使用IS而不能使用AS。
    */
    declare
      one int;
      two int;
      three int;
      --定义一个整型数组
      numlist int_varray;
      --声明并定义存储过程MaxOfTwo
      --找出两个数中的最值并输出该值
      procedure MaxOfTwo(x in int,y in int,z out int)
      as
      begin
         if x>y then
            z:=x;
         else
            z:=y;
         end if;
      end;
     
    begin
      numlist:=int_varray(12,2,56,75,24);
      --调用存储过程MaxOfVarray
      MaxOfVarray(numlist,three);
      dbms_output.put_line('The max of int_varray(12,2,56,75,24): '|| three);
      --给变量one、two、three赋值
      one:=10;
      two:=20;
      --调用存储过程MaxOfTwo
      MaxOfTwo(one,two,three);
      dbms_output.put_line('The max of (10,20): '|| three);
    end;
    

    在这里插入图片描述
    运行结果截图:
    在这里插入图片描述
    附加:
    2)存储过程的处理部分
    一个PL/SQL块,该块包含定义部分、可执行部分以及异常处理部分,其中可执行部分是必须有的。
    CREATE OR REPLACE 过程名
    (
    –参数定义部分
    )
    IS
    –局部变量定义部分
    BEGIN
    –可执行部分
    EXCEPTION
    –异常处理部分
    END 过程名;

    .2存储过程的参数
    1)参数的数据类型
    在定义一个存储过程参数时,不能指定CHAR类型和VARCHAR2类型形参的长度,也不能指定NUMBER形参的精度和标度。这些约束有实参来传递。

    CREATE OR REPLACE PROCEDURE proc_auths(
        --参数定义了类型长度,这将产生编译错误。
        p_code IN OUT VARCHAR2(6),
    
    展开全文
  • C# asp.net SQL存储过程写法Insert 插入语句,及其在asp.net中的调用方法 1、SQL存储过程语句: 向SQL里插入一条记录: CREATE PROCEDURE dbo.Ta_test@names nchar(255),@sex nchar(255)ASinsert into T_a ...

    C# asp.net SQL存储过程写法Insert 插入语句,及其在asp.net中的调用方法

    1、SQL存储过程语句:

    向SQL里插入一条记录:

     

    CREATE PROCEDURE dbo.Ta_test
    @names nchar(255),
    @sex nchar(255)
     AS
    insert into T_a (names,sex)
    values (@names,@sex)
    GO

    2、SQL连接类:

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.SqlClient;


    /// <summary>
    ///DB 的摘要说明
    /// </summary>
    public class DB
    {
     public DB()
     {
      //
      //TODO: 在此处添加构造函数逻辑
      //
     }

        public static SqlConnection CreateDBcon()
        {
            return new SqlConnection("data source=(local);user ID = sa;password=*0.-+;initial catalog=SongYe_WLJC");
        }

    }

     

     

    3、webform页面语句(类的调用,存储过程的调用 方法):

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    using System.IO;
    using System.Net;
    using System.Text;

     


    public partial class Administrator_T_a : System.Web.UI.Page
    {

      

        protected void Page_Load(object sender, EventArgs e)
        {
         
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            SqlConnection conns = DB.CreateDBcon(); //调用SQL类

     
            SqlCommand Cmd = new SqlCommand("Ta_test", conns);

            Cmd.Parameters.Add(new SqlParameter("@names", SqlDbType.NChar,255)); //存储过程参数
            Cmd.Parameters.Add(new SqlParameter("@sex", SqlDbType.NChar,255));

            Cmd.Parameters["@names"].Value = TextBox1.Text.Trim();
            Cmd.Parameters["@sex"].Value = TextBox2.Text.Trim();

                      

            Cmd.CommandText = "Ta_test"; //调用存储过程

            Cmd.CommandType = CommandType.StoredProcedure;

           
            conns.Open();
            Cmd.ExecuteNonQuery(); //执行存储过程

            conns.Close();

            TextBox1.Text = "";
            TextBox2.Text = "";
           


            string infos = "测试成功!";
            Response.Write("<script>alert('" + infos + "')</script>");
        }
    }

     

    本人学习时测试用的,是成功的,有兴趣的同志们可以学习一下。

     

     

    转载于:https://www.cnblogs.com/ChinaAllYes/archive/2010/09/02/1815973.html

    展开全文
  • 现有一个table表,用于存放从.txt文本文件中导入的数据。该表只有一个字段txtContent,该字段中存放的...现需要写段SQL或存过储程,将产品码为10560008或10560009下面的数据保留下来,其它的全部删除。请高手指点一下
  • ---创建存储过程,本部分全部复制粘贴至查询分析器执行即可-----createprocedureget_nxt_id_P@objtypeint,@NewSeqValuebigintoutputasbeginsetNOCOUNTONif(@objtype=0)begininsertint...---创建存储过程,本部分全部...

    ---创建存储过程,本部分全部复制粘贴至查询分析器执行即可-----createprocedureget_nxt_id_P@objtypeint,@NewSeqValuebigintoutputasbeginsetNOCOUNTONif(@objtype=0)begininsertint...

    ---创建存储过程,本部分全部复制粘贴至查询分析器执行即可-----

    create procedure get_nxt_id_P

    @objtype int,

    @NewSeqValue bigint output

    as

    begin

    set NOCOUNT ON

    if(@objtype=0)

    begin

    insert into seq_alttrade(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_alttrade')

    delete from seq_alttrade

    return 1;

    end

    else if(@objtype=1)

    begin

    insert into seq_alert(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_alert')

    delete from seq_alert

    return 1;

    end

    else if(@objtype=2)

    begin

    insert into seq_cust(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_cust')

    delete from seq_cust

    return 1;

    end

    else if(@objtype=3)

    begin

    insert into seq_acct(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_acct')

    delete from seq_acct

    return 1;

    end

    else if(@objtype=4)

    begin

    insert into seq_trade(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_trade')

    delete from seq_trade

    return 1;

    end

    else if(@objtype=5)

    begin

    insert into seq_oppinfo(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_oppinfo')

    delete from seq_oppinfo

    return 1;

    end

    else if(@objtype=6)

    begin

    insert into seq_oppinfobank(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_oppinfobank')

    delete from seq_oppinfobank

    return 1;

    end

    else if(@objtype=7)

    begin

    insert into seq_custmap(SeqVal) values ('a')

    set @NewSeqValue = IDENT_CURRENT('seq_custmap')

    delete from seq_custmap

    return 1;

    end

    else

    begin

    set @NewSeqValue =0;

    return -1;

    end

    end

    GO

    请问以上的SQL server的 存储过程写法如何变成 mysql 的写法呢。

    展开

    展开全文
  • SET XACT_ABORT ON--SQL 语句产生运行时错误,整个事务将终止并回滚  begin tran --在这里需要开始事务  -- SET NOCOUNT ON added to prevent extra result sets from  -- interfering with SELECT ...
  • 以一个最简单的查询语句的存储过程为例:mysql 版:********不带参数版********create PROCEDURE queryStaffProc() ----注意此处,就算是没有参数,也要加(),如果有参数输入或者输出,就写在()中BEGINselect * from...
  • 公司做了一个需求,初期设想通过存储过程来初始化表数据,所以写了一个存储过程,如下: --CREATE PROCEDURE [dbo].[PROC_HANDLE_SHOPCAR_TXD_SR_TYPE] ALTER PROCEDURE [dbo].[PROC_HANDLE_SHOPCAR_TXD_SR_TYPE] ...
  • 三:mybatis调用存储过程写法 <![CDATA[ { call QUOTE_TO_AGREE_COMMIT( #{AGREE_ID,mode=IN,jdbcType=VARCHAR} ) } ]]> QUOTE_TO_AGREE_COMMIT 这个应该是 存储过程的名字。 ()这个应该存储...
  • 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,...
  • 写在前面这段时间工作最长接触到的就是Oracle数据库,不论查数据,还是统计、运行job,都离不开PL/SQL 存储过程,下面就整理下经常用到的知识。一、Function函数函数是执行非查询语句的方法。创建返回list的function...
  • SQL Server存储过程写法以及应用,是本人自己对SQL Server存储过程的一个总结应用,希望对你的学习有帮助。
  • 展开全部一、多数指令是相同的,包括创建和修正存储过32313133353236313431303231363533e59b9ee7ad9431333365646262程的指令。二、很多细微的指令有不同,具体如下(不仅):1 mysql支持enum,和set类型,sql server不...
  • pl/sql 执行存储过程写法

    千次阅读 2011-02-22 18:15:00
    执行: begin  ws2_rp_inserttodaynonfrlocal(9,3,to_date('2011-2-14','yyyy-mm-dd')); end; OK。     执行: begin ...ws2_rp_inserttodaynonfrlocal...
  • 1、创建存储过程,并开启事务控制 if exists (select * from dbo.sysobjects where name = N'PROD_NAME' ) DROP PROCEDURE dbo.PROD_NAME GO CREATE PROCEDURE [dbo].[PROD_NAME] ( @parameter1 VARCHAR(10), @...
  • sql存储过程: USE [ ServiceDB ] GO /* ***** Object: StoredProcedure [dbo].[CheckIFlightPrivate] Script Date: 06/02/2013 10:32:18 ***** */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ...
  • 1.1,Oracle存储过程简介:存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的...
  • 以一个最简单的查询语句的存储过程为例: mysql 版: ********不带参数版******** create PROCEDURE queryStaffProc() ----注意此处,就算是没有参数,也要加(),如果有参数输入或者输出,就写在()中BEGIN ...
  • 以一个最简单的查询语句的存储过程为例:mysql 版:********不带参数版********create PROCEDURE queryStaffProc() ----注意此处,就算是没有参数,也要加(),如果有参数输入或者输出,就写在()中BEGINselect * from...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 668
精华内容 267
关键字:

sql存储过程写法