Tag: 存储过程

SQL Server sp_msforeachtable用法只select那些满足某些条件的表

我正在试图写这个查询来查找具有特定值的特定列的所有表。 这是我迄今为止所做的 – EXEC sp_MSforeachtable @command1=' IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=PARSENAME("?",2) AND TABLE_NAME=PARSENAME("?",1) AND COLUMN_NAME="EMP_CODE") BEGIN IF (SELECT COUNT(*) FROM ? WHERE EMP_CODE="HO081")>0 BEGIN SELECT * FROM ? WHERE EMP_CODE="HO081" END END ' 我希望我的内涵很清楚,我只想selectEMP_CODE列所在的那些表,在这些表中我想select那些EMP_CODE='HO081' 。 编辑 – 现在它是这样的。 但是我不能在查询中replace@EMPCODEvariables。 DECLARE @EMPCODE AS VARCHAR(20) SET @EMPCODE='HO081' EXEC sp_MSforeachtable @command1=' DECLARE @COUNT AS INT […]

从函数执行存储过程

我知道这已经被要求死亡,我知道为什么SQL Server不会让你这样做。 但有没有解决方法,除了使用扩展存储过程? 请不要告诉我把我的function转换成一个过程… 所以我真正要问的是:有没有办法从一个函数内运行存储过程? 编辑: 点certificate:有一个方法,但它是如此错误,我不会这样做。 我要把它改成一个存储过程并在其他地方执行。

在MySQL中循环遍历结果集

我正在尝试在MySQL中编写一个存储过程,它将执行一个稍微简单的select查询,然后遍历结果以决定是执行其他查询,数据转换还是完全丢弃数据。 实际上,我想要实现这个: $result = mysql_query("SELECT something FROM somewhere WHERE some stuff"); while ($row = mysql_fetch_assoc($result)) { // check values of certain fields, decide to perform more queries, or not // tack it all into the returning result set } 只有,我只需要在MySQL中,所以它可以被称为一个过程。 我知道对于触发器,有FOR EACH ROW …语法,但是我找不到在CREATE TRIGGER …语法之外使用的任何东西。 我已经阅读了MySQL中的一些循环机制,但到目前为止,我可以想象的是,我将实现这样的事情: SET @S = 1; LOOP SELECT * FROM […]

在SQL Server中插入更新存储过程

我已经写了一个存储过程,如果存在一个logging将做更新,否则将做一个插入。 它看起来像这样: update myTable set Col1=@col1, Col2=@col2 where ID=@ID if @@rowcount = 0 insert into myTable (Col1, Col2) values (@col1, @col2) 我这样写它的逻辑是,更新将使用where子句执行隐式select,如果返回0则插入将发生。 这样做的替代方法是做一个select,然后根据返回的行数进行更新或插入。 这是我认为效率低下,因为如果你要更新它会导致2select(第一个显式select调用,第二个隐含在更新的位置)。 如果proc做插入,那么效率就不会有差别。 我的逻辑在这里发声吗? 这是如何将一个插入和更新结合到一个存储过程?

SQL Server SELECT到现有表中

我试图从一个表中select一些字段,并从存储过程中插入到现有的表中。 这是我正在尝试的: SELECT col1, col2 INTO dbo.TableTwo FROM dbo.TableOne WHERE col3 LIKE @search_key 我认为select into是临时表,这就是为什么我得到一个dbo.TableTwo已经存在的错误。 如何从dbo.TableOne插入多行到dbo.TableTwo ?

如何列出两个date之间的所有date

我想在SQL Server存储过程中的两个date之间列出date。 例如: Date1: 2015-05-28 Date2: 2015-05-31 结果: 2015-05-29 2015-05-30 如何计算两个给定date之间的所有date? 问候,

SQL Server的:我应该使用SYS表上的information_schema表?

在SQL Server中有两个元数据模式: INFORMATION_SCHEMA SYS 我听说INFORMATION_SCHEMA表是基于ANSI标准的。 在开发例如存储过程时,是否应该在sys表上使用INFORMATION_SCHEMA表?

Dapper.NET和存储过程与多个结果集

有没有办法使用Dapper.NET与存储过程返回多个结果集? 在我的情况下,第一个结果集是单列单列, 如果它是0那么调用成功,第二个结果集将包含实际的行/列数据。 (如果它不为零,则会发生错误,并且不会提供第二个结果集) 有没有机会用Dapper.NET来处理这个问题? 到目前为止,我只能回到这个单一的0 – 但没有更多。 更新:好吧,它工作正常 – 只要结果集没有。 2是一个单一的实体: Dapper.SqlMapper.GridReader reader = _conn.QueryMultiple("sprocname", dynParams, commandType: CommandType.StoredProcedure); int status = reader.Read<int>().FirstOrDefault(); MyEntityType resultObj = reader.Read<MyEntityType>().FirstOrDefault(); 现在,我还有另一个要求。 对于第二个结果集,Dapper的多重映射(将从SQL Server返回的单个行拆分成两个单独的实体)似乎还没有被支持(至less似乎没有.Read<T>可以处理多重映射)。 我怎样才能拆分成两个实体的行?

PL / SQL中的函数和过程有什么区别?

PL / SQL中的函数和过程有什么区别?

如何使用phpmyadmin编写存储过程以及如何通过php使用它?

我希望能够使用phpMyAdmin创build存储过程,稍后通过php使用它。 但我不知道如何? 据我所知,我发现我们不能通过phpMyAdminpipe理存储过程。 还有哪些工具可以pipe理存储过程? 我甚至不确定是否更好的select通过PHP使用存储过程。 任何build议?