Dinamikus SQL dedikált SQL-készletekhez az Azure Synapse Analyticsben

Tip

Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.

Ez a cikk tippeket tartalmaz a dinamikus SQL-t dedikált SQL-készletekben használó fejlesztési megoldásokhoz.

Dinamikus SQL-példa

A dedikált SQL-készletek alkalmazáskódjának fejlesztésekor előfordulhat, hogy dinamikus SQL-t kell használnia a rugalmas, általános és moduláris megoldások biztosításához. A dedikált SQL-készletek jelenleg nem támogatják a blob adattípusokat.

Ha nem támogatja a blobadattípusokat, az korlátozhatja a sztringek méretét, mivel a blob adattípusai közé tartozik a varchar(max) és az nvarchar(max) típus is.

Ha ezeket a típusokat használta az alkalmazáskódban a nagy sztringek létrehozásához, akkor a kódot darabokra kell bontania, és ehelyett az EXEC utasítást kell használnia.

Egy egyszerű példa:

DECLARE @sql_fragment1 VARCHAR(8000)=' SELECT name '
,       @sql_fragment2 VARCHAR(8000)=' FROM sys.system_views '
,       @sql_fragment3 VARCHAR(8000)=' WHERE name like ''%table%''';

EXEC( @sql_fragment1 + @sql_fragment2 + @sql_fragment3);

Ha a karakterlánc rövid, akkor a sp_executesql szokásos módon használható.

Megjegyzés:

A dinamikus SQL-ként végrehajtott utasításokra továbbra is az összes T-SQL érvényesítési szabály vonatkozik.

Következő lépések

További fejlesztési tippekért tekintse meg a fejlesztés áttekintését.