簡體   English   中英

Sqlite3觸發器:添加一列

[英]Sqlite3 trigger: add a column

我有一個想法在sqlite3中實現。 這可以在觸發器alter table中使用new.something的名稱添加列嗎?

簡單的例子:

CREATE TRIGGER add_something AFTER INSERT ON simple_table 
BEGIN:
    ALTER TABLE second_table add column NEW.simple_name int;
END;

當我嘗試這個時,我有語法錯誤。 在postgres我只是執行EXECUTE,但sqlite是非常簡單和特定的簡單數據庫所以我不知道如何做到這一點...我嘗試轉換為文本並與''連接。

您不能在觸發器中使用ALTER TABLE語句。

要執行動態SQL語句,您必須注冊自己的函數,它可以執行任何操作:

CREATE TRIGGER add_something
AFTER INSERT ON simple_table 
BEGIN
    SELECT my_function(NEW.simple_name);
END;

不,這是不可能的。 您只能在SQLite觸發器中使用INSERT,UPDATE,DELETE和SELECT語句(參見CREATE TRIGGER上的SQLite文檔 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM