3
對於下面的存儲函數,哪個是正確的標誌:CONTAINS SQL或NO SQL?MySQL存儲函數:CONTAINS SQL或NO SQL?
CREATE FUNCTION BigIntHash(str VARCHAR(255)) RETURNS BIGINT UNSIGNED DETERMINISTIC
RETURN CONV(SUBSTRING(CAST(SHA(str) AS CHAR), 1, 15), 16, 10)
和
CREATE FUNCTION upi(a VARCHAR(14), b INT(8) UNSIGNED, c VARCHAR(13)) RETURNS BIGINT UNSIGNED DETERMINISTIC
RETURN IF(a IS NULL,
IF(b IS NULL,
IF(c IS NULL,
NULL,
BigIntHash(CONCAT("a-", a))
),
BigIntHash(CONCAT("b-", b))
),
BigIntHash(CONCAT("c-", c))
)
的定義上http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html,但我現在還不能確定:
CONTAINS SQL表示子程序不包含讀陳述或寫數據。如果沒有明確給出這些特徵,則這是默認值。這樣的語句的例子是SET @ x = 1或者DO RELEASE_LOCK('abc'),它們執行但不讀或寫數據。
無SQL指示該例程不包含SQL語句。
謝謝Mchl。 – Jan 2013-02-18 15:50:15