Не знаете, почему SSMS не учитывает порядок выполнения, но это просто не так. Это не проблема для небольших баз данных, но что, если ваша база данных имеет 200 объектов? В этом случае порядок выполнения имеет значение, потому что все это нелегко.
Для неупорядоченных скриптов, сгенерированных SSMS, вы можете перейти к
a) Выполнить скрипт (некоторые объекты будут вставлены в некоторые из них, будут некоторые ошибки)
b) Удалите все объекты из сценария, добавленного в базу данных
c) Вернитесь к a), пока все
Альтернативный вариант - использовать сторонний инструмент, такой как ApexSQL Script или любые другие инструменты, уже упомянутые в этом потоке (SSMS toolpack, Red Gate и другие).
Все они будут заботиться о зависимостях для вас и сэкономить вам еще больше времени.
Если вы используете Linux, вы также можете играть с unestand :
-121--3031442-Конвертировать пробелы в каждом FILE в вкладки, запись в стандартный вывод. Без FILE, или если FILE имеет значение -, прочитайте стандарт вход.
Я думаю, что ближе всего вы найдете Base36 , однако он не будет работать с типом GIUD (только Int16, Int32 или Int64).
-121--3255170-Обновление для транспозиции:
Следует использовать cvTranspose ()
или cv:: transpose ()
, поскольку (как вы правильно указали) это более эффективно. Опять же, я рекомендую обновить до OpenCV2.0, поскольку большинство функций cvXXX
просто преобразуют структуры IplImage *
в объекты Mat
(без глубоких копий). Если изображение сохранено в объекте Mat
, Mat.t ()
возвращает транспонирование.
Любое вращение:
Вы должны использовать cvWarpAffine, определяя матрицу вращения в общей структуре матрицы преобразования. Я настоятельно рекомендую обновить класс до OpenCV2.0 , который имеет несколько функций, а также класс Mat
, который инкапсулирует матрицы и изображения. С помощью 2,0 можно использовать warpAffine .
Я искал некоторые подробности и не нашел ни одного примера. Поэтому я публикую функцию transposeImage
, которая, я надеюсь, поможет другим, кто ищет прямой способ поворота на 90 ° без потери данных:
IplImage* transposeImage(IplImage* image) {
IplImage *rotated = cvCreateImage(cvSize(image->height,image->width),
IPL_DEPTH_8U,image->nChannels);
CvPoint2D32f center;
float center_val = (float)((image->width)-1) / 2;
center.x = center_val;
center.y = center_val;
CvMat *mapMatrix = cvCreateMat( 2, 3, CV_32FC1 );
cv2DRotationMatrix(center, 90, 1.0, mapMatrix);
cvWarpAffine(image, rotated, mapMatrix,
CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS,
cvScalarAll(0));
cvReleaseMat(&mapMatrix);
return rotated;
}
Вопрос: Почему это?
float center_val = (float)((image->width)-1) / 2;
Ответ: Потому что это работает :) Единственный центр, который я нашел, не переводит изображение. Хотя, если у кого-то есть объяснение, мне было бы интересно.