精华内容
下载资源
问答
  • 数据库——SQL语句存储过程
    2021-06-11 14:18:47

    1 无参数

    创建:
    [USE <数据库名>
    GO]
    CREATE PROC <过程名>
    AS
    <动作集合>;
    执行:
    EXEC <过程名>;

    **例:**在TS数据库中创建存储过程P实现如下功能:查询学生所选课程的学分及成绩,包括学号、姓名、课程号、课程名、学分、成绩。
    UES TS
    GO
    CREATE PROC P
    AS
    SELECT Student.Sno,Sname,Course.Cno,Cname,Ccredit,Grade
    FROM Student,Course,SC
    WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno;
    执行:
    EXEC P;

    2 有参数

    创建:
    [UES <数据库名>
    GO]
    GREATE PROC <过程名> @X1 <数据类型> [OUT][@X2 <数据类型> [OUT] …]
    AS
    BEGIN
    [DECLARE @X3 <数据类型>] //声明新的变量
    <动作集合>
    END
    执行:
    DECLARE @X4 <与上面标有OUT的变量相同的数据类型>
    EXEC <过程名> @X4 OUTPUT
    SELECT @X4;

    **例:**编写带参数的存储过程,根据传入的课程名称统计该课程的平均成绩。
    CREATE PROC PJ @Cname CHAR(20),@avg INT OUT
    AS
    BEGIN
    @avg=
    (
    SELECT AVG(Grade)
    FROM SC,Course
    WHERE SC.Cno=Course.Cno AND Cname=@Cname
    )
    END;

    更多相关内容
  • 主要介绍了MySQL存储过程中实现执行动态SQL语句的方法,实例分析了MySQL中构造及执行动态SQL语句的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • Oracle之创建存储过程SQL语句

    千次阅读 2020-05-19 17:23:26
    1、创建存储过程。 create or replace procedure myprocedure(sid in number) as exam number; begin select * from score where sid=score.userid; dbms_output.put_line(exam); if exam>60 then dbms_o

    一、某学生成绩大于60分,输出good;某学生成绩小于60分输出oh no。(在输出中查看信息)

    ~需要一张成绩表单,包含成绩信息和学生学号。
    1、创建存储过程。

    create or replace procedure myprocedure(sid in number)
    as
    exam number;
    begin
    select * from score where sid=score.userid;
    dbms_output.put_line(exam);
    if exam>60 then
    dbms_output.put_line('good');
    else
    dbms_output.put_line('oh no');
    end if;
    end myprocedure;
    

    2、调用该存储过程,括号内为学生学号。

    begin
    myprocedure(1007);
    end;
    

    二、若全班平均成绩大于等于60分,输出good;若平均成绩小于60分,每位同学成绩在原来基础上+5分(做循环),直到输出为good,停止循环。

    ~需要一张成绩表单,包含所有学生成绩。
    1、创建存储过程。

    create or replace procedure system.scr_pro
    as
    avgscnum number;
    begin
      select avg(scnum) into avgscnum from system.score;
      while avgscnum<60 loop
        select avg(scnum) into avgscnum from system.score;
      dbms_output.put_line(avgscnum);
      if avgscnum>=60 then
        dbms_output.put_line('good');
      else
        update system.score set scnum=scnum+5;
      end if;
     end loop;
    end scr_pro;
    

    2、调用该存储过程。

    begin
      system.scr_pro;
    end;
    

    ~注:
    1、空格、分号在英文状态下输入;
    2、千万不要忘记,该写分号时,一定不能忘(自己就吃了亏);
    3、敲代码,练习自己的逻辑思维。

    展开全文
  • drop PROCEDURE if exists my_procedure; create PROCEDURE my_procedure() BEGIN declare my_sqll varchar(500);... 您可能感兴趣的文章:mysql 存储过程中变量的定义与赋值操作mysql存储过程详解mysq
  • 存储过程执行效率比单独的SQL语句效率高。 样编写存储过程存储过程在SQL Server 2005对应数据库的可编程性目录下。 比如,创建一个存储过程 代码如下: create procedure procNewsSelectNewNews as begin select ...
  •  其实就是很简单的一个SQL语句:  update table1 set field1=value1,field2 = value2 where id = id  我写成什么样子了呢?大家且看:  declare @tableName nvarchar(50),  @field1 int,  @field2 ...
  • 在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程
  • SQL Server 存储过程SQL语句的拼接

    千次阅读 2020-12-26 17:11:27
    SQL Server 存储过程SQL语句的拼接

    场景

    在存储过程中拼接SQL,有过经历的人都知道,字符拼接的单引号是多么的…本人觉得这玩意类似于正则了,就是不断尝试,碰巧又撞到了新的写法,拼接 in语句 ,这里就记录下…

    直接上SQL

    DECLARE @Id NVARCHAR(max);
    DECLARE @Name NVARCHAR(50);
    DECLARE @SQL NVARCHAR(MAX);
    
    Set @Id='N''31CB7589-98F4-411B-82BB-66497B252FB3'',N''31CB7589-98F4-411B-82BB-66497B252FB3'',N''31CB7589-98F4-411B-82BB-66497B252FB3''';
    Set @Name=N'张三';
    
    Set @SQL='Select * From Person where Name=N'''+@Name+'''';
    Set @SQL+=' and F_Id in('+@Id+')';
    
    -- 打印
    print(@SQL)
    -- 执行
    exec(@SQL)
    

        这样拼出来的SQL是正确,可以执行的,结果如下:
    在这里插入图片描述

    展开全文
  • 还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran –开始事务 drop ...
  • SQL语句创建存储过程

    2010-06-08 22:09:08
    创建数据库的存储过程 要求: 实现增,删,查,改!!
  • sql语句查询存储过程

    千次阅读 2020-04-09 15:00:09
    sql语句 SELECT * FROM user_source WHERE NAME = 'MOBILELOGIN' ORDER BY LINE user_source :自带视图,照填就行 MOBILELOGIN:<存储过程>名,全部转化成大写 执行结果

    sql语句

    SELECT * FROM user_source WHERE NAME = 'MOBILELOGIN' ORDER BY LINE
    

    user_source :自带视图,照填就行
    MOBILELOGIN:<存储过程>名

    执行结果
    在这里插入图片描述

    展开全文
  • MSSQL中动态执行sql语句可以使用EXEC()函数。MSSQL中也有类似的函数EXECUTE(),不过不同的是MYSQL中动态执行存储过程语句与MSSQL还是有区别的。
  • DBCC DROPCLEANBUFFERS
  • 外部工具中执行存储过程(调试一下该存储过程效果一样) EXEC APP022.APP_OXYGEN_PRO.PRO_UPDATE_ID(‘hellowhat’);...存储过程中执行sql str:=‘select * from table’; EXECUTE IMMEDIATE STR; ...
  • mysql怎么用sql语句创建存储过程

    千次阅读 2021-01-19 07:34:03
    展开全部可以在客户端里面直接写 比如用 navicat 就写:delimiter$$;createprocedurelucia_proc16(countint)beginDECLAREname_procVARCHAR(20)CHARACTERSETutf8;DECLAREsex_procVARCHAR(4)CHARACTERSETutf8;...
  • 存储过程用于完成特定功能的SQL语句集合,编译完后存储在数据库中,不同的程序在执行同一个SQL的时候可以直接调用存储过程无需重新写sql语句。 优点: 模块化程序、需只要调用无需传输SQL,加快SQL执行速度,提高安全...
  • SQL语句存储过程

    2020-06-20 21:14:04
    SQL语句存储过程SQL三类存储过程不含参数的存储过程含输入参数的存储过程既含输入参数,又含输出参数的存储过程删除存储过程 SQL三类存储过程 SQL语句存储过程主要有以下三种: 不含参数的 含有输入参数的 既...
  • SQL语句–执行存储过程ST_output declare @Sname varchar(8),@Tname varchar(8) exec ST_output'18001',@Sname output,@Tname output print @Sname print @Tname --先声明变量 --注意 每个变量后都要有 output --...
  • 动态的实现表名的动态的配置及动态的配置所对应的列名
  • 展开全部这样:CREATEPROCEDUREsp_add(a int, b int,outc int)beginset c=a+ b;end;调用过程:call sp_add (1,2,@32313133353236313431303231363533e4b893e5b19e...扩展资料:注意事项存储过程(stored procedure)是...
  • 本文给大家分享一段sql语句实现SqlServer快速检索某个字段在哪些存储过程中,代码非常简单,需要的朋友参考下
  • 你肯定有过这样的烦恼,同样的表,不同的数据库,加入你不能执行select insert那么你肯定需要一条这样的存储过程,之需要传入表明,就会给你生成数据的插入语句。当然数据表数量太大,你将最好用别的方式 代码如下...
  • sqlserver 批量删除存储过程和批量修改存储过程语句,需要的朋友可以参考下。
  • 常用SQL语句大全

    2019-03-04 16:25:33
    -创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA --从数据库中删除一...
  • SQL语句执行存储过程

    千次阅读 2019-09-28 11:28:57
    DECLARE@return_valueintEXEC@return_value=[存储过程名称]@参数1=N'参数值',@参数2=N'参数值'SELECT'返回值:'=@return_value 转载于:https://www.cnblogs.com/EasyData/archive/2010/01/...
  • ALTER PROCEDURE [dbo].[Proc_CaseRemark_ADD] @RecordID bigint, @CaseId nvarchar(20), @Remark nvarchar(1000), @IDCardNo nvarchar(50), @CreateUser nvarchar(20), @MeMoType int, @IsUse nvarchar(2), ...
  • 之前经常在程序中拼接sql语句,其实我们也可以在存储过程中拼接sql 语句,动态的执行~~代码如下:DROP PROCEDURE IF EXISTS SearchByDoctor;CREATE PROCEDURE SearchByDoctor(IN DoctorId VARCHAR(50),IN deptId ...
  • 可以支持导出单表的建表语句,也可以支持单库所有建表语句的导出以及同服务器跨库建表语句的导出。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 667,777
精华内容 267,110
关键字:

存储过程sql语句