public void CreateTriggers(SqlConnection conn) { string cur_db_name = null; try { cur_db_name = BingoSqlUtils.ExecStringQuery(conn, "SELECT DB_NAME()"); BingoSqlUtils.ExecNonQueryNoThrow(conn, "USE {0}", id.DatabaseName(conn)); string bingo_db_schema = cur_db_name + "." + bingo_schema; string full_name = id.FullTableName(conn); object[] trigger_params = new object[] { null, full_name, id_column, data_column, bingo_db_schema, id.table_id, id.database_id }; trigger_params[0] = GetTriggerName("Insert", conn, cur_db_name); string insert_trigger = String.Format(resource.OnInsertTrigger, trigger_params); BingoSqlUtils.ExecNonQuery(conn, "{0}", insert_trigger); trigger_params[0] = GetTriggerName("Delete", conn, cur_db_name); string delete_trigger = String.Format(resource.OnDeleteTrigger, trigger_params); BingoSqlUtils.ExecNonQuery(conn, "{0}", delete_trigger); trigger_params[0] = GetTriggerName("Update", conn, cur_db_name); string update_trigger = String.Format(resource.OnUpdateTrigger, trigger_params); BingoSqlUtils.ExecNonQuery(conn, "{0}", update_trigger); } finally { if (cur_db_name != null) { BingoSqlUtils.ExecNonQueryNoThrow(conn, "USE {0}", cur_db_name); } } }
public string FullTableName(SqlConnection connection) { return(BingoSqlUtils.ExecStringQuery(connection, @"SELECT QUOTENAME(DB_NAME({0})) + N'.' + QUOTENAME(OBJECT_SCHEMA_NAME({1}, {0})) + N'.' + QUOTENAME(OBJECT_NAME({1}, {0}))", database_id, table_id)); }
public void DropTriggers(SqlConnection conn) { string cur_db_name = null; try { cur_db_name = BingoSqlUtils.ExecStringQuery(conn, "SELECT DB_NAME()"); BingoSqlUtils.ExecNonQueryNoThrow(conn, "USE {0}", id.DatabaseName(conn)); BingoSqlUtils.ExecNonQueryNoThrow(conn, "DROP TRIGGER {0}", GetTriggerName("Insert", conn, cur_db_name)); BingoSqlUtils.ExecNonQueryNoThrow(conn, "DROP TRIGGER {0}", GetTriggerName("Delete", conn, cur_db_name)); BingoSqlUtils.ExecNonQueryNoThrow(conn, "DROP TRIGGER {0}", GetTriggerName("Update", conn, cur_db_name)); } finally { if (cur_db_name != null) { BingoSqlUtils.ExecNonQueryNoThrow(conn, "USE {0}", cur_db_name); } } }
public string DatabaseName(SqlConnection connection) { return(BingoSqlUtils.ExecStringQuery(connection, @"SELECT QUOTENAME(DB_NAME({0}))", database_id)); }
public string SchemaName(SqlConnection connection) { return(BingoSqlUtils.ExecStringQuery(connection, @"SELECT QUOTENAME(OBJECT_SCHEMA_NAME({0}, {1}))", table_id, database_id)); }