环境: MySQL 5.1,Linux
我有一个存储过程,它从一个输入值中计算几个值。这些值作为OUT参数返回。我想对每个行集调用这个过程,并将这些值显示为结果集中的列。这些值具有复杂的关系,因此不容易为每个值构造不同的函数。
问题是:如何获得参数以显示为表中的列?
到目前为止,我的情况如下:
DELIMITER $_$
DROP PROCEDURE IF EXISTS in_out;
CREATE PROCEDURE in_out (
IN s TEXT,
OUT op TEXT,
OUT opn INT,
OUT opd TEXT
我有这个问题,我在php中创建了一个用户定义的函数。但它有一些problems.Let me的详细说明。假设我已经创建了这个函数
<?php
include 'db_connect.php';
$sql="DROP FUNCTION IF EXISTS testf";
$result=mysql_query($sql) or die (mysql_error());
$sql="CREATE FUNCTION testf() RETURNS text
DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE Out
我有一个sql查询,它在SQL Server中工作得很好,可以得出由特定供应商提供的商品的最后购买率,如下所示:
Select Top 1 Rate
From TXPurchaseDetail
Where CompanyCode = 200
And VoucherSeries = 'INPURSCR'
And SupplierCode = 1042
And ItemCode = 1521
And voucherdate <= '2011/05/25'
这个简单的代码调用两个MySQL过程,但是在返回值的第一个过程之后,它将在第二个查询中返回一个错误。
注意:单独运行第一个或第二个的将为每一个正确返回。所以查询可以工作,只是不能一起使用。
完全错误是:Invalid query: Commands out of sync; you can't run this command now
请给我任何想法。
<?php
require_once ('connection.php');
//First Query and Output
$result = mysql_query("CALL C01_Clien
我使用的是Winform C#和MySQL。
我的朋友正在使用SQL。
他说MySQL没有存储过程。但我拒绝这样做,因为我已经在MySQL中使用这个SP了。他说这是一个函数,而不是SP。SP是预编译的。
我很困惑。
这是我的SP。
BEGIN
insert into bonafide_records (date,admin_no,name,CreationId) values (date_a,admin_no_a,name_a,CreationId_a);
END
请帮我清理一下,MySQL有SP吗?
我正在努力从MySQL存储过程中获取结果OUT变量。我得到以下错误:
java.sql.SQLException: Parameter number 3 is not an OUT parameter
存储过程如下所示:
CREATE DEFINER=`cv_admin`@`localhost` PROCEDURE `CheckGameEligibility`(
IN gID INT(10),
IN uID INT(10),
OUT result TINYINT(1)
)
BEGIN
# Do lots of stuff, then eventually:
我刚开始使用程序,似乎不能让我的程序正常工作。我正在使用WAMPP v5.1.36,并使用MySQL服务器上的MySQL控制台输入代码。如果我去(重新)创建这个过程。我得到错误#1304 (42000)。
mysql> DELIMITER //
mysql>
mysql> CREATE PROCEDURE modx.getCRID (IN x VARCHAR(255),OUT y INT)
-> BEGIN
-> DECLARE y INT;
-> SELECT id INTO y
-
我试图在MySQL (5.x)的WHERE语句中使用存储函数的结果,但它失败了,因为在函数中,我从表中选择值到一个整型变量中,然后返回它们/ it,如果SELECT返回超过1行,这显然不起作用。我尝试过返回表(据我所知,MySQL中的TABLE表示数组),但也不起作用。
有没有办法让我这样做:
SELECT ID FROM myTable WHERE ID IN my_function(params);
谢谢。
我一直在犯错误。如何在MySQL中运行这样的查询?
UPDATE Events SET eventName = 'hi' IF ROW_COUNT() = 0 INSERT INTO EVENTS (eventName) VALUES (hi);
基本上我想要更新,但是如果没有要更新的数据,我会插入数据。有什么办法可以做到这一点吗?
编辑1获取此错误
mysql> UPDATE Events
-> SET eventName = 'hi';
IF ROW_COUNT() = 0
THEN
DELETE FROM Events