精华内容
下载资源
问答
  • 执行存储过程/存储过程执行SQL语句
    万次阅读
    2019-04-02 10:10:59

    外部工具中执行存储过程(调试一下该存储过程效果一样)
    toad工具中使用:
    EXEC PRO_UPDATE_ID(‘hellowhat’);
    developer中:
    begin
    PRO_UPDATE_ID(‘hellowhat’);
    end;

    存储过程中执行sql
    str:=‘select * from table’;
    EXECUTE IMMEDIATE STR;

    更多相关内容
  • MSSQL中动态执行sql语句可以使用EXEC()函数。MSSQL中也有类似的函数EXECUTE(),不过不同的是MYSQL中动态执行存储过程语句与MSSQL还是有区别的。
  • 主要介绍了MySQL存储过程中实现执行动态SQL语句的方法,实例分析了MySQL中构造及执行动态SQL语句的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 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语句,其实我们也可以在存储过程中拼接sql 语句,动态的执行~~代码如下:DROP PROCEDURE IF EXISTS SearchByDoctor;CREATE PROCEDURE SearchByDoctor(IN DoctorId VARCHAR(50),IN deptId ...

    之前经常在程序中拼接sql语句,其实我们也可以在存储过程中拼接sql 语句,动态的执行~~

    代码如下:

    DROP PROCEDURE IF EXISTS SearchByDoctor;

    CREATE PROCEDURE SearchByDoctor(

    IN DoctorId VARCHAR(50),

    IN deptId VARCHAR(50),

    IN beginDate VARCHAR(20),

    IN endDate VARCHAR(20),

    IN StandDeptId VARCHAR(50),

    IN OperationFlag VARCHAR(50),

    IN SsczflId VARCHAR(50),

    OUT OperNum INT,

    OUT AvgDangerIndex DOUBLE,

    OUT OperGrCase INT

    )

    BEGIN

    DECLARE cal1 VARCHAR(800);

    DECLARE cal2 VARCHAR(800);

    SET cal1="SELECT COUNT(1),AVG(DANGER_INDEX) INTO @para1,@para2 FROM yw_ssxxb WHERE 1=1 ";

    SET cal2="SELECT COUNT(1) INTO @para3 FROM gr_grbw WHERE OPE_RELID IN (SELECT RELID FROM yw_ssxxb WHERE 1=1";

    #拼接医生id

    SET cal1=CONCAT(cal1," ","AND OPEDOC_ID = ","'",DoctorId,"'");

    SET cal2=CONCAT(cal2," ","AND OPEDOC_ID = ","'",DoctorId,"'");

    #拼接科室id

    IF deptId <>'' THEN

    SET cal1=CONCAT(cal1,"AND DEPT_ID =","'",deptId,"'");

    END IF;

    #拼接开始结束日期

    IF beginDate<>'' AND endDate <>'' THEN

    SET cal1=CONCAT(cal1," ","AND OPER_AT BETWEEN ","'",beginDate,"'"," AND ","'",endDate,"'");

    END IF;

    #拼接标准科室

    IF StandDeptId<>'' THEN

    SET cal1=CONCAT(cal1," ","AND DEPT_ID IN ( SELECT ID FROM department WHERE STAND_DEPT_ID = ","'",StandDeptId,"'",")");

    END IF;

    #拼接数据来源

    IF OperationFlag <>'' THEN

    SET cal1=CONCAT(cal1," ","AND OPEPARTKINDID IN (SELECT ID FROM zh_ssczfl WHERE FLAG= ","'",OperationFlag,"'",")");

    END IF;

    #拼接手术操作类别

    IF SsczflId <> '' THEN

    SET cal1=CONCAT(cal1," ","AND OPEPARTKINDID = ","'",SsczflId,"'");

    END IF;

    SET cal2 =CONCAT(cal2,")");

    SET @sql1=cal1;

    SET @sql2=cal2;

    PREPARE stmt1 FROM @sql1;

    EXECUTE stmt1;

    DEALLOCATE PREPARE stmt1 ;

    PREPARE stmt2 FROM @sql2;

    EXECUTE stmt2;

    DEALLOCATE PREPARE stmt2 ;

    SET OperNum=@para1;

    SET AvgDangerIndex=@para2;

    SET OperGrCase=@para3;

    END;

    涉及到的具体的业务逻辑就不介绍了,语法方面还是可以参照下的。

    展开全文
  • SQL语句执行存储过程ST_output declare @Sname varchar(8),@Tname varchar(8) exec ST_output'18001',@Sname output,@Tname output print @Sname print @Tname --先声明变量 --注意 每个变量后都要有 output --...

    SQL语句–执行存储过程ST_output

    declare @Sname varchar(8),@Tname varchar(8)
    exec ST_output'18001',@Sname output,@Tname output
    print @Sname
    print @Tname
    
    --先声明变量
    --注意 每个变量后都要有 output 
    --注意用【,】逗号隔开
    --注意 打印输出显示结果 一条一条写
    
    展开全文
  • 本文实例讲述了mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法。分享给大家供大家参考,具体如下: MySQL提供循环语句,允许我们根据条件重复执行一个SQL代码块其中有三个循环语句:WHILE,REPEAT和LOOP,我们...
  • 动态的实现表名的动态的配置及动态的配置所对应的列名
  • Oracle如何执行存储过程

    千次阅读 2021-05-02 03:31:31
    示例:有如下创建索引的存储过程--procedure create_indexcreate or replace procedure create_index(indexName in varchar2, tableName in varchar2, columnName in varchar2)istmp_name VARCHAR2(50);TMP_SQL ...

    示例:有如下创建索引的存储过程

    --procedure create_index

    create or replace procedure create_index(indexName in varchar2, tableName in varchar2, columnName in varchar2)

    is

    tmp_name VARCHAR2(50);

    TMP_SQL VARCHAR2(1024);

    cnt NUMBER;

    begin

    select table_name into tmp_name from user_tables where upper(table_name)=upper(tableName);

    if length(tmp_name)>0 then

    SELECT COUNT(*) INTO cnt FROM USER_INDEXES T WHERE T.TABLE_NAME=''|| tableName ||'' AND T.INDEX_NAME=''|| indexName;

    IF cnt = 0 THEN

    execute immediate 'create index ' || indexName ||' on ' || tableName ||'('|| columnName ||') TABLESPACE TBS_TXNIDX';

    END IF;

    end if;

    EXCEPTION

    WHEN NO_DATA_FOUND THEN

    BEGIN

    NULL;

    END;

    end;

    /

    1)在命令窗口下: exec 存储过程(参数...);

    exec create_index('IDX_ORG_SET_PROCESS_1','CPS_ORG_SETTLEMENT_PROCESS','ORG_IDENTITY_ID ASC');

    2)在sql窗口下:

    begin

    create_index('IDX_STATEMENT_DETAIL_LINK','CPS_BANK_STATEMENT_DETAIL','LINK_TXN_ID ASC');

    end;

    展开全文
  • CREATE OR REPLACE FUNCTION "common"."text1"("_i_table_name" text) RETURNS "pg_catalog"."text" AS $BODY$ declare _s_result TEXT; _s_sql TEXT; BEGIN _s_sql := 'SELECT id from ' || _i...
  • 通过存储过程拼装sql语句,然后执行拼装好的sql语句 主要思路 根据条件从主表获取数据并创建 新的子表 对子表执行 比对,比对结果插入到结果表 删除子表   如果子表的数据仍然比较大,可通过 拼装...
  • oracle执行存储过程语句

    万次阅读 2014-04-21 16:54:37
    create or replace procedure getResourceTable_101_136 。。。。。。 end;     1.PL/SQL 中 命令窗口执行语句 2.Procedures刷新后显示getResourceTable_101_136
  • 今天一个生成10w条数据的存储过程执行了95s,但是单独执行SQL语句只需要28s,查资料后发现原来这是存储过程的机制导致的,也就是传说中的参数嗅探网上的一段话:(1)可能是发生了参数嗅探,第一次赋给存储过程的输入...
  • 测试存储过程 sqlplus中,执行如下: var r refcursor; exec proc2(‘select * from aaa‘,:r); print r; 输出是正常的 标签: 原文地址:http://blog.csdn.net/lcawen88/article/details/45873389
  • SQL Server存储过程执行动态SQL语句

    千次阅读 2015-07-31 16:20:48
    一、简介 在Sql Server中执行动态sql语句有两种方法:exec和exec sp_executesql。 优缺点: 1、exec sp_executesql提供输入、输出接口,可以在sql语句中进行参数占位;exec则不可以。 2、exec sp_executesql能够...
  • 数据库中存储过程执行语句

    千次阅读 2013-06-04 22:56:50
    今天帮同事写了一个小的数据库存储过程的DEMO,发现有两种不同的执行语句的实现方式。列出如下。1、有时候我们利用数据库的存储过程来执行一些比较耗时间的SELECT操作,存储过程类似于函数,它可以单独执行。以下为...
  • 执行的sql必须定义为 @sql 才能执行 否则报错DROP PROCEDURE IF EXISTS test_prepareStam;delimiter //CREATE PROCEDURE test_prepareStam(in id int)BEGINTRUNCATE TABLE test_table;/*-- 直接拼sql 然后prepare ...
  • 转载链接:http://lin49940.iteye.com/blog/466626今天一个同事写oracle 的...如一个表 A(id,code, name, type)在存储过程中的更新操作的语句: update A x set x.type = 变量A where x.code = 变量B;变量A 和 变量...
  • select * from user_source where name=upper('存储过程名称') order by line
  • MySQL 存储过程 if语句

    千次阅读 2020-04-09 19:08:13
    MySQL IF语句语法 下面说明了IF语句的语法: IF expression THEN statements; END IF; ...如果表达式(expression)计算...以下流程图演示了IF语句执行过程: MySQL IF ELSE语句 如果表达式计算结果为FALSE时...
  • mysql存储过程 if 语句

    千次阅读 2021-01-27 21:36:04
    MySql的存储过程存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在...
  • 用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/...
  • 搜索存储过程执行慢,sql执行快,百度第一条是 https://blog.csdn.net/qq_18145031/article/details/99819061 但是我发现用到的WITH RECOMPILE 在达梦中报错,并不能用。是库与库存在差异导致的。 达梦管理工具里...
  • C#连接数据库,执行SQL语句存储过程的代码,封装好了的,直接调用就可以
  • 存储过程执行动态Sql语句

    万次阅读 2018-08-26 18:50:28
    存储过程执行动态Sql语句  MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_...
  • 创建存储过程 # 修改分隔符 delimiter $$; # 创建存储过程 CREATE PROCEDURE proc_while () BEGIN DECLARE num INT; SET num = 0; WHILE num <.....待执行语句..> SET num = num + 1 ; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 648,746
精华内容 259,498
关键字:

存储过程的执行语句