

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SVL\_MULTI\_STATEMENT\_VIOLATIONS
<a name="r_SVL_MULTI_STATEMENT_VIOLATIONS"></a>

使用 SVL\_MULTI\_STATMENT\_VIOLATIONS 檢視來取得系統上執行的所有違反交易區塊限制的 SQL 命令的完整記錄。

當您執行 Amazon Redshift 限制在交易區塊或多重陳述式請求內的下列任何 SQL 命令時，就會發生違規：
+ [CREATE DATABASE](r_CREATE_DATABASE.md)
+ [DROP DATABASE](r_DROP_DATABASE.md)
+ [ALTER TABLE APPEND](r_ALTER_TABLE_APPEND.md)
+ [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md)
+ DROP EXTERNAL TABLE
+ RENAME EXTERNAL TABLE
+ ALTER EXTERNAL TABLE
+ CREATE TABLESPACE
+ DROP TABLESPACE
+ [CREATE LIBRARY](r_CREATE_LIBRARY.md)
+ [DROP LIBRARY](r_DROP_LIBRARY.md)
+ REBUILDCAT
+ INDEXCAT
+ REINDEX DATABASE
+ [VACUUM](r_VACUUM_command.md)
+ [GRANT](r_GRANT.md)
+ [COPY](r_COPY.md)

**注意**  
如果此檢視中有任何項目，請變更對應的應用程式和 SQL 命令檔。我們建議您變更應用程式程式碼，將這些受限制 SQL 命令的使用移至交易區塊之外。如果您需要進一步協助，請聯絡 AWS Support。

所有使用者都可看見 SVL\_MULTI\_STATEMENT\_VIOLATIONS。超級使用者可以看見所有資料列；一般使用者只能看見自己的資料。如需詳細資訊，請參閱[系統資料表和檢視中資料的可見性](cm_chap_system-tables.md#c_visibility-of-data)。

此資料表中的部份或所有資料也會在 SYS 監控檢視 [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md) 中找到。SYS 監視檢視中的資料會格式化為更易於使用和理解。我們建議您使用 SYS 監控檢視進行查詢。

## 資料表欄
<a name="r_SVL_MULTI_STATEMENT_VIOLATIONS-table-columns"></a>


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| userid  | integer  | 造成違規的使用者 ID。 | 
| 資料庫  | character(32)  | 使用者連接的資料庫名稱。 | 
| cmdname  | character(20)  | 無法在交易區塊或多重陳述式要求內執行的命令名稱。例如，CREATE DATABASE、DROP DATABASE、ALTER TABLE APPEND、CREATE EXTERNAL TABLE、DROP EXTERNAL TABLE、RENAME EXTERNAL TABLE、ALTER EXTERNAL TABLE、CREATE LIBRARY、DROP LIBRARY、REBUILDCAT、INDEXCAT、REINDEX DATABASE、VACUUM、外部資源上的 GRANT、CLUSTER、COPY、CREATE TABLESPACE 以及 DROP TABLESPACE。 | 
| xid  | bigint  | 與陳述式關聯的交易 ID。 | 
| pid  | integer  | 陳述式的處理程序 ID。 | 
| label  | character(320)  | 用於執行查詢的檔案名稱，或以 SET QUERY\_GROUP 命令定義的標籤。如果查詢不是檔案型，或未設定 QUERY\_GROUP 參數，則此欄位為空白。 | 
| starttime  | timestamp | 陳述式開始執行的確切時間，精確度為六位數的小數秒，例如：2009-06-12 11:29:19.131358 | 
| endtime  | timestamp | 陳述式完成執行的確切時間，精確度為六位數的小數秒，例如：2009-06-12 11:29:19.193640 | 
| sequence  | integer  | 當單一陳述式包含不只 200 個字元時，會將該陳述式的其他資料列記錄下來。序列 0 是第一列，1 是第二列，以此類推。 | 
| type  | varchar(10)  | SQL 陳述式的類型：QUERY、DDL 或 UTILITY。 | 
| text  | character(200)  | SQL 文字，以 200 個字元遞增。此欄位可能包含反斜線 (\\\\) 和換行符號 (\\n) 等特殊字元。 | 

## 範例查詢
<a name="r_SVL_MULTI_STATEMENT_VIOLATIONS-sample-query"></a>

下列查詢會傳回多個有違規的陳述式。

```
select * from svl_multi_statement_violations order by starttime asc;

userid | database | cmdname | xid | pid | label | starttime | endtime | sequence | type | text
==============================================================================================================================
1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | DDL | create table c(b int);
1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | create database b;
1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | COMMIT
...
```