在SQL SERVER 2008的數據庫中創建表時,是否有辦法像觸發器那樣運行某些函數?SQL SERVER 2008 TRIGGER ON CREATE TABLE
1
A
回答
5
是的,它被稱爲DDL觸發器。 CREATE TRIGGER
的文檔有DROP_SYNONYM
的示例(對於示例來說,這是一個非常可疑的選擇),但您需要改爲CREATE_TABLE
事件。瞭解他們是如何工作的一個更好的起點可能是在這裏:
http://msdn.microsoft.com/en-us/library/ms190989.aspx
如果你有更具體的細節,例如你想傳遞給這個函數到底是什麼(我假定你是指過程),或者過程是做什麼的,我們可以提供更多有用的和特定的幫助。
4
是DDL觸發器。例如,下面是我編寫的一些代碼,以防止某些表被修改:
PRINT N'Create DDL trigger to prevent changes to various tables'
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER NoEditCertainTables ON DATABASE
FOR DROP_TABLE, ALTER_TABLE, CREATE_TABLE
AS
SET CONCAT_NULL_YIELDS_NULL ON
DECLARE @AffectedTable varchar(255)
SELECT @AffectedTable = EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(100)')
--This is the name of the table(s) you dont want messed with
IF (@AffectedTable IN ('Table1','Table2','Table3'))
BEGIN
ROLLBACK;
END
SET CONCAT_NULL_YIELDS_NULL OFF
GO
相關問題
- 1. CREATE TRIGGER - SQL SERVER
- 2. SQL Azure的:在CREATE TABLE TRIGGER
- 3. MySQL的CREATE TRIGGER ON INSERT
- 4. H2DB - 腳本SQL ON UPDATE CREATE TABLE請求
- 5. 在CREATE TRIGGER
- 6. 將SQL Server CREATE TABLE轉換爲Access
- 7. 生成**裸** SQL Server中的CREATE TABLE和CREATE PROC語句
- 8. SQL CREATE TABLE錯誤
- 9. 錯誤與SQL CREATE TRIGGER甲骨文
- 10. CREATE TRIGGER在SQL Server 2005上花費超過30分鐘
- 11. Howto create ac#assembly to load into sql server 2008
- 12. SQL新手,CREATE TABLE錯誤
- 13. CREATE TRIGGER sys_exec和Python
- 14. 不能CREATE TRIGGER在sqlite3的
- 15. SQL Server 2008中:ALTER TABLE查詢
- 16. T-SQL:對ALTER TABLE腳本崩潰修改CREATE TABLE腳本
- 17. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException CREATE TABLE
- 18. CREATE PROCEDURE SQL Server
- 19. CREATE TABLE SQL語句將不會運行
- 20. Microsoft SQL Server語法錯誤涉及CREATE TABLE
- 21. MySQL錯誤#1064在CREATE TABLE
- 22. 何時CREATE TABLE AS SELECT與CREATE TABLE LIKE?
- 23. 意外的標記「CREATE TRIGGER
- 24. MySQL CREATE TABLE&FOREIGN KEY錯誤
- 25. 在SQL Server 2008
- 26. SQL「CREATE TABLE」查詢在java中
- 27. 1064 SQL錯誤CREATE TABLE語句中
- 28. CREATING INDEX SQL Server 2008
- 29. sql server 2008分區
- 30. CREATE TRIGGER隨着Derby中的條件
thanx,我這是我正在尋找的。 – themis