Laravel поставляется с 2 внешними менеджерами пакетов: npm и пряжа
npm
npm i mdbootstrap
пряжа
yarn add mdbootstrap
[ 1117] После этого ваш пакет находится в каталоге node_modules .
Вы можете импортировать файлы sass и позволить объединять файлы js из пакетов в vendor.js .
Вы можете настроить то, что переносится куда, используя webpack.mix.js
Запуск npm run dev
запустит перенос.
Если вы хотите установить mdbootstrap pro, вы должны выполнить следующие шаги
run
npm install git+https://oauth2:[TOKEN]@git.mdbootstrap.com/mdb/[REPO].git --save
Где [TOKEN] ваш токен из шагов 2 и [REPO] - это тот, который вам нужен из вариантов jquery, angular, vue или Reaction. Вы можете найти точные URL-адреса, посетив git.mdbootstrap.com и выбрав правильный проект. В верхнем правом углу найдите кнопку клон и скопируйте ссылку https .
Вы могли сделать это:
create table mytable_copy as select * from mytable;
update mytable_copy set id=new_id;
insert into mytable select * from mytable_copy;
drop table mytable_copy;
Ваш пример должен почти работать. Просто добавьте имена столбцов новой таблицы к нему.
INSERT INTO MYTABLE
(id, col1, col2)
SELECT new_id,col1, col2
FROM TABLE2
WHERE ...;
Я никогда не работал с db2, но в mssql вы можете решить эту проблему с помощью следующей процедуры. это решение работает только в том случае, если вам все равно, какой новый идентификатор получат элементы.
1.) создать новую таблицу с такой же схемой, но в которой столбец идентификатора увеличивается автоматически. (mssql "спецификация идентичности = 1, приращение идентичности = 1)
2.) чем простого
insert into newTable(col1, col2, col3)
select (col1, col2, col3) from oldatable
должно быть достаточно, убедитесь, что вы не включаете свой столбец идентификатора в приведенный выше оператор
Хорошо, попробуйте следующее:
declare @othercols nvarchar(max);
declare @qry nvarchar(max);
select @othercols = (
select ', ' + quotename(name)
from sys.columns
where object_id = object_id('tableA')
and name <> 'Field3'
and is_identity = 0
for xml path(''));
select @qry = 'insert mynewtable (changingcol' + @othercols + ') select newval' + @othercols;
exec sp_executesql @qry;
Перед тем, как запустить строку «sp_executesql», выполните «select @qry», чтобы узнать, какую команду вы собираетесь запустить.
И, конечно, вы можете вставить это в хранимую процедуру и передать переменную вместо бита «Поле3».
Роб
Я не думаю, что это можно сделать полностью в SQL без необходимости создавать временную таблицу. Делать это в памяти должно быть намного быстрее. Остерегайтесь, если вы идете по маршруту временной таблицы, вы должны выбирать уникальное имя для своей таблицы для каждого вызова функции, чтобы избежать состояния гонки, когда ваш код запускается дважды одновременно и искажает две строки данных в одну временную таблицу.
Я не знаю, какой язык вы используете, но должно быть возможно получить список полей в вашей программе. Я бы сделал это так:
array_of_field_names = conn->get_field__list;
array_of_row_values = conn->execute ("SELECT... ");
array_of_row_values ["ID"] = new_id_value
insert_query_string = "construct insert query string from list of field names and values";
conn->execute (insert_query_string);
Затем вы можете инкапсулировать это как функцию и просто вызвать ее с указанием таблицы, старого идентификатора и нового идентификатора, и это сработает как волшебство.
В коде Perl подойдет следующий фрагмент:
$table_name = "MYTABLE";
$field_name = "ID";
$existing_field_value = "100";
$new_field_value = "101";
my $q = $dbh->prepare ("SELECT * FROM $table_name WHERE $field_name=?");
$q->execute ($existing_field_value);
my $rowdata = $q->fetchrow_hashref; # includes field names
$rowdata->{$field_name} = $new_field_value;
my $insq = $dbh->prepare ("INSERT INTO $table_name (" . join (", ", keys %$rowdata) .
") VALUES (" . join (", ", map { "?" } keys %$rowdata) . ");";
$insq->execute (values %$rowdata);
Надеюсь, это поможет.