草庐IT

过程中

全部标签

mysql - 如何使用like运算符编写mysql存储过程

以下是我的代码:DELIMITER$$CREATEDEFINER=`root`@`localhost`PROCEDURE`employee_with_asset`(INnameVARCHAR(250))BEGINSELECTa.Asset_code,a.nameasname1,a.type,a.description,`purchasedate`,`amcavailability`,`amcrenewal`,`employeeId`,b.NameFROM`asset_details`a,employeebWHEREb.NameLIKE'%'+@name+'%'anda.`assigne

php - MySQL 存储过程还是 php 代码?

一个一般性问题,不考虑具体情况-与编写执行相同计算和查询的PHP脚本相比,通常更喜欢使用MySQL存储过程吗?每种方法有什么好处? 最佳答案 与JeffAtwoods"WhoNeedsStoredProcedures,Anyways?"from2004点/对点:1)StoredProceduresarewritteninbigirondatabase"languages"likePL/SQL(Oracle)orT-SQL(Microsoft).Theseso-calledlanguagesarearchaic,andfullofth

mysql存储过程错误: missing semicolon

我有以下存储过程。这是给我一些错误DROPprocedureIFexistsgetQueueMessage;DELIMITER$$CREATEDEFINER=`root`@`localhost`PROCEDURE`getQueueMessage`(msgvarchar(100))BEGINSELECT`Name`FROMqueuesWHEREIdIN(SELECTPhysicalQueueIdFROMindexqueuemapsWHEREConditionFieldValue=msg)ENDEND$$DELIMITER;它给我缺少分号错误。不知道为什么会出现此错误。有人可以帮助我吗?

java - 存储过程可以返回结果集吗?

我有一个名为employee的表,其中包含他的ID、姓名、电话号码。我使用MySQL作为我的数据库。为此,我正在使用JavaSwing。我现在正在使用Java搜索带有名称的员工表(我在我的Java页面中使用了like子句)。现在我需要在存储过程中实现该功能。可能吗?如果可能的话,我们如何在Java代码中获取该结果集??现在我写的存储过程如下BEGINSELECT*FROMemployeewhereempNamelike'%su%'END示例代码将不胜感激..谢谢 最佳答案 首先你应该编写msql程序来为LIKE发送参数,CREATE

java - 我应该如何对调用 MySQL 存储过程的 Java 进行单元测试?

我正在编写一个简单的应用程序,它将读取一些记录并将它们插入数据库。我已经编写了一个处理插入逻辑的存储过程,并计划单独对其进行测试。现在,我想为采用业务对象并将其传递给存储过程调用的逻辑部分编写良好的单元测试。我认为我想做的是传递数据库连接的模拟,然后断言调用是使用预期的参数值进行的:ConnectiondbConnection=makeMockConnection();//how?MyObjectWriterwriter=newMyObjectWriter(dbConnection);writer.write(someSampleObject);//somehowassertthatd

mysql - SQL update 在update运行的过程中会影响它的子查询吗?

我只是在编写一个复杂的更新查询,它看起来或多或少像这样:updatetablejoin(selecty,min(x)asMinXfromtablegroupbyy)ast1using(y)setx=x-MinX这意味着变量x是根据子查询更新的,子查询也处理变量x-但不能这个x已经被正在运行的更新命令修改了?这不是问题吗?我的意思是,在正常的编程中,您通常必须明确地处理这个问题,即将新值从旧值存储到其他地方,并在工作完成后,用新值替换旧值......但是SQL数据库将如何这样做?我对单个观察或实验不感兴趣。我想从文档或sql标准中获取一个片段,说明在这种情况下定义的行为是什么。我使用的是

MySql 存储过程的参数与影响的列同名,这可能吗?

我有一个包含两列的序列表,名称、值,并且我有一个存储过程用于递增提供名称的值DROPPROCEDUREIFEXISTSp_generate_sequence;delimiter|CREATEPROCEDUREp_generate_sequence(nameVARCHAR(30))BEGINSTARTTRANSACTION;--Variable"name"equaltocolumn"name",howtoreference?UPDATEsequences_tableSETvalue=value+1WHEREname=name;SELECTvalueFROMsequences_tableW

mysql - mysql中同步存储过程执行

我在mysql中有一个存储过程,用于执行需要同步的任务,这样如果两个应用程序调用存储过程,只有一个可以访问一段代码来执行任务,保持另一个被阻止,直到第一个完成任务。DELIMITER$$CREATEPROCEDURESP_GEN_ID(INNAMEVARCHAR(20))BEGINDECLAREmaxLenintdefault0;STARTTRANSACTION;#thesectionofcodethatneedstobesynchronizedCOMMITEND;$$DELIMITER;因此,如果两个应用程序同时调用存储过程,则任务必须同步。一个。但是StartTRANSACTION

php - 如何在 CodeIgniter 中调用存储过程?

我无法在CodeIgniter中调用存储过程。但是,当我直接在MySQL中调用该过程时,它会起作用。为什么我在CodeIgniter中调用它时它不起作用?CREATEDEFINER=`root`@`localhost`PROCEDURE`test_proc`()LANGUAGESQLNOTDETERMINISTICCONTAINSSQLSQLSECURITYDEFINERCOMMENT''BEGINdeclarename1TEXT;declareid1TEXT;selectname,idintoname1,id1frommy_tblWHEREname='sam';select*from

MYSQL存储过程if语句问题

我在freebsd上使用Mysql5.1.28-rc。我刚刚决定在MYSQL中使用存储过程并创建了一个测试过程,如下所示:DELIMITER$$DROPPROCEDUREIFEXISTStest$$CREATEPROCEDUREtest(INtestVARCHAR(22))BEGINDECLAREcountINT(11);SETcount=(SELECTCOUNT(*)FROMTestWHEREtest_column=test);SELECTcount;IFcount=0THENSETcount=1;ELSESETcount=2;ENDIF;END$$DELIMITER;这个过程在没有