1. 程式人生 > >mysql print (寫儲存過程的時候輸出值只能用select)

mysql print (寫儲存過程的時候輸出值只能用select)

用慣sqlserver的同學都知道sqlserver輸出可以直接用print,而mysql沒有這個函式

下面我用一個例子告訴大家用select怎麼達到這個效果

下面看我寫的一個儲存過程:

CREATE PROCEDURE usertest( fieldstr VARCHAR(200), tablename VARCHAR(200), orderstr VARCHAR(100), ordersort INT)
BEGIN
	DECLARE sort VARCHAR(20);
	DECLARE tmpsql VARCHAR(500);
	SET sort = '';
	IF ordersort=0 THEN
		SET sort='asc';
	ELSE
		SET sort='desc';
	END IF;
SET @sqlcmd = CONCAT('select ' , fieldstr , ' from ' , tablename , ' order by ' , orderstr , ' ' , sort);
PREPARE tmpsql FROM @sqlcmd;
SELECT @sqlcmd;/*輸出執行的sql語句*/
EXECUTE tmpsql;
DEALLOCATE PREPARE tmpsql;
    END$$

DELIMITER ;

呼叫 : CALL usertest('id,username,usercode','test','usercode',1)

這裡寫的是一個簡單的查詢儲存過程,用到了動態語句查詢。執行結果我就不發出來了。