Пример #1
0
        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);
                }
            }
        }
Пример #2
0
 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));
 }
Пример #3
0
        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);
                }
            }
        }
Пример #4
0
 public string DatabaseName(SqlConnection connection)
 {
     return(BingoSqlUtils.ExecStringQuery(connection,
                                          @"SELECT QUOTENAME(DB_NAME({0}))", database_id));
 }
Пример #5
0
 public string SchemaName(SqlConnection connection)
 {
     return(BingoSqlUtils.ExecStringQuery(connection,
                                          @"SELECT QUOTENAME(OBJECT_SCHEMA_NAME({0}, {1}))", table_id, database_id));
 }