Как я могу отбросить все ограничительные ограничения по умолчанию на таблицу

Хорошо, ваши параметры переданы, но не в правильном пространстве имен. Вместо select_tag вы должны использовать метод f.select:

<%= f.select(:city_id, options_for_select(City.pluck(:name, :id), target_blank: true )) %>

И также для второго из ваших параметров.

8
задан gbn 20 April 2009 в 07:37
поделиться

2 ответа

Одно решение из поиска : (Отредактировано для ограничений по умолчанию)

SET NOCOUNT ON

DECLARE  @constraintname SYSNAME, @objectid int,
           @sqlcmd         VARCHAR(1024)

DECLARE CONSTRAINTSCURSOR CURSOR  FOR
SELECT NAME, object_id
FROM   SYS.OBJECTS
WHERE  TYPE = 'D' AND @objectid = OBJECT_ID('Mytable')

OPEN CONSTRAINTSCURSOR

FETCH NEXT FROM CONSTRAINTSCURSOR
INTO @constraintname, @objectid

WHILE (@@FETCH_STATUS = 0)
BEGIN
    SELECT @sqlcmd = 'ALTER TABLE ' + OBJECT_NAME(@objectid) + ' DROP CONSTRAINT ' + @constraintname
    EXEC( @sqlcmd)
    FETCH NEXT FROM CONSTRAINTSCURSOR
    INTO @constraintname, @objectid
END

CLOSE CONSTRAINTSCURSOR
DEALLOCATE CONSTRAINTSCURSOR
7
ответ дан 5 December 2019 в 17:41
поделиться

Просто почему вы хотите это сделать? Отбрасывание ограничений является довольно радикальным действием и затрагивает всех пользователей, а не только ваш процесс. Может быть, ваша проблема может быть решена другим способом. Если вы не являетесь администратором базы данных системы, вам следует очень серьезно подумать, стоит ли вам это делать. (Конечно, в большинстве систем, DBA не позволил бы кому-либо еще разрешения делать такую ​​вещь.)

-1
ответ дан 5 December 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: