在執行以下sql服務器時,我無法在代碼中傳遞@AKM參數,我怎麼能夠在簡單查詢中重現相同的操作。但是我能夠通過變量ID,因爲它是一個int類型,但@akm是在性格特徵選擇前1個字段並將其分配給數據庫名稱爲動態的局部變量
CREATE PROCEDURE [dbo].[sp_akm_test]
@AKM NVARCHAR(128),
@Anlsid Int
AS
DECLARE @Sql1 NVARCHAR(MAX);
DECLARE @type NVARCHAR(MAX);
BEGIN
SELECT TOP 1 @type= sample_type FROM ' + @RDM +'.dbo.analysis where ID= '@id
PRINT(@type)
IF (@type = 8017)
BEGIN
SET @Sql1 = N'select sample_n FROM'+ QUOTENAME(@AKM) +'..sample'
END
ELSE
Begin
SET @Sql1 = N'select sampleid FROM'+ QUOTENAME(@AKM) +'..sample'
END
EXECUTE sp_executesql @Sql1
END
你使用MySQL標記此的原因嗎? – DavidG
@DavidG我正在使用MySQL – rsayam91
不,你真的沒有,你正在使用SQL Server,如果你顯示的代碼實際上工作。如果您不確定您正在使用哪種數據庫技術,那麼您可能需要退後一步並做一些基本的學習/教程? – DavidG