• Для чего нужен ассемблер?

    @d-stream
    Готовые решения - не подаю, но...
    Учить, как и проходить - однозначно не надо.
    Изучать - да, возможно. Хотя бы с точки зрения понимания работы процессора как такового.
    Ответ написан
    Комментировать
  • Создание удаленной базы данных?

    @d-stream
    Готовые решения - не подаю, но...
    Никаких отличий от локальной, разве что:
    1. разрешить sql серверу сетевые подключения (например tcp/ip)
    2. озаботится безопасностью подключений (ну как минимум чтобы извне вообще не было доступа для sa ролей)
    3. несколько позже - подумать о промежуточном звене....
    Ответ написан
    5 комментариев
  • Что лучше триггер или процедура? И почему не запихнуть бы всю логику в процедуры?

    @d-stream
    Готовые решения - не подаю, но...
    Это ровно как с отвертками, молотками, гвоздодерами, напильниками - все они предназначены для разных действий. Иногда конечно получается забивать напильником саморез по металлу в гипсокартон, но он фиговато держится. Что совершенно не значит что гипсокартон - плохой материал или саморезу по металлу - плохи... тем паче нельзя пенять на напильник...

    Так же и с триггерами, процедурами и бизнес-логикой на стороне приложения - при уместном и корректном использовании это будут отличные конструкции, иначе - будет кака.

    p/s/ и да, триггеры бывают не только DML, но и DDL разных уровней + всяких специфичных видов типа event_driven, logon и т.п.
    Ответ написан
    Комментировать
  • Как удалить дубликаты строк в postresql?

    @d-stream
    Готовые решения - не подаю, но...
    Канва примерно такая:
    есть ip - primary key и dup_fld - поле, которое могло дублироваться
    1. select dup_fld from table group by dup_fld having count(*)>1 -- это дубликаты как таковые
    2. select max(id) from table group by dup_fld having count(*)>1 -- это id (уникальный, последний) в дубликатах
    3. само удаление по условию что dup_fld из 1 селекта и id НЕ из 2 селекта

    во втором селекте берем самый последний id - подразумевая, что id растут при добавлении и самое последнее добавление - самое верное, но можно брать min - тогда "самое первое оставить" или развивать конструкцию до нужной логики (типа цена ближе всего к среднему и т.п.)

    Ну а как реалезовать - вопрос вкуса и компромисса с оптимизатором. Я бы делал 2 cte - первым inner join "урезал" набор до только дубликаты, вторым - left join where cte2.id is null

    with cte_dbls(dup_fld) as (select dub_fld from table group by dup_fld having count(dup_fld)>1),
    cte_ones( id ) as ( select max(id)  from table group by dup_fld having count(dup_fld)>1)
    
    --delete from table where id in (
    
    select 
    id
    from table
    inner join cte_dbls on cte_dbls.dup_fld=table.dup_fld
    left join cte_ones on cte_ones.id=table.id
    where cte_ones.id is null
    --)


    Для удобства - само удаление закомменчено, чтобы увидеть результат селекта, а так можно избавится из конструкции where in
    Ответ написан
    Комментировать
  • Является ли матрица в ноутбуке монитором?

    @d-stream
    Готовые решения - не подаю, но...
    Матрица - нет. А вот матрица с контроллером - да. При некотором усердии даже можно подключить это дело от убитого ноута к какому-нибудь компьютеру и использовать как монитор.
    Ответ написан
    Комментировать
  • Как составить такой SQL запрос?

    @d-stream
    Готовые решения - не подаю, но...
    select 
    table.id, min(table.name)
    from table
    left join table as t2 on t2.paren=table.id
    where table.parent is null
    group by table.id
    having count(t2.parent)>=3


    до MySQL доточить по вкусу и сдать домашнее задание -)
    Ответ написан
    Комментировать
  • Как запихнуть этот код в хранимую процедуру?

    @d-stream
    Готовые решения - не подаю, но...
    Проверить наличие таблицы:

    select OBJECT_ID('tempdb..#t_nrv','U')

    есть таблица - будет значение ее id, иначе - null

    только если таблица нужна исключительно внутри процедуры - лучше использовать не #table а @table

    иначе будут танцы...

    declare @qqqq table (id primary key, value nvarchar(max))
    Ответ написан
    Комментировать
  • Как исправить ошибку "ManagementException не обработано" в VS2012?

    @d-stream
    Готовые решения - не подаю, но...
    class Program
        {
            static void Main(string[] args)
            {
    try{
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData WHERE Active=True");
                foreach (ManagementObject obj in searcher.Get())
                {
                    byte[] vendorSpec = obj["VendorSpecific"] as byte[];
                    if (vendorSpec != null)
                    {
                        Console.WriteLine("Температура = " + vendorSpec[115]);
                    }
    
                }
    
                Console.ReadKey();
    }
    catch(Exception ex)      {
     ex.message - будет содержать текст сообщения об ошибке и его можно вывести через messagebox или хотя бы посмотреть в отладке
    }
      }
        }
    Ответ написан
    Комментировать
  • Как прочитать данные, постоянно поступающие через com-порт?

    @d-stream
    Готовые решения - не подаю, но...
    Гм... если бы не пауза "1.5 байта" - все бы было легко и хорошо, на так - несколько неестественное использование... со всеми вытекающими...
    Если меня склероз не обманывает - у 8251 буфер в пределах 15 байт. То бишь если пакет/фрейм больше - он должен фрагментироваться.

    p/s/ по бреду: упасть на уровень-другой ниже до эмуляции 8251, выключить буффер и ловить побайтно данные и паузы отслеживать по таймеру... только, боюсь, первыми непреодолимыми граблями окажется частичная эмуляция интерфейса...
    Ответ написан
  • На выполнении запроса выкидывается ошибка. В чем проблема?

    @d-stream
    Готовые решения - не подаю, но...
    И че получается?
    WHERE YEAR(hire_date) IN (
    SELECT MAX(salary), YEAR(hire_date)

    вложенный селект вернет ДВА столбца, и как sqlю быть с этим?
    Ответ написан
    Комментировать
  • Название таблицы в множественном числе или нет?

    @d-stream
    Готовые решения - не подаю, но...
    С учетом что может быть список клиентов и подробные данные клиента - возможно существование и таблицы clients и таблицы client (или client_data)

    В общем-то вопрос привычки и соглашений. Если работать в команде - то как правило существуют этакие style guide (иногда устные), которым сотрудники или стараются или обязаны следовать.
    Ответ написан
    Комментировать
  • Синий экран при загрузке ПК, после Ctrl+Alt+Del все ОК?

    @d-stream
    Готовые решения - не подаю, но...
    Похоже SCSI не успевает инициализироваться. Стоит в биосе поставить максимальные задержки, отключить fast boot и т.п.
    Ответ написан
    Комментировать
  • Какая наиболее анонимная схема подключения к интернету?

    @d-stream
    Готовые решения - не подаю, но...
    В 99% случаев круто заанонимизировавшиеся анонимусы палятся на своих фотках во вконтактике -)
    Ответ написан
    Комментировать
  • Как собрать запрос из частей?

    @d-stream
    Готовые решения - не подаю, но...
    Можно, но это сложный и извилистый путь с кучей разбросанных граблей.

    Гораздо более прямой - собирать в виде or связки (флаг не взведен или условие по дате)
    Ответ написан
    2 комментария
  • Ошибка при создании Foreign Key?

    @d-stream
    Готовые решения - не подаю, но...
    Для начала:
    select * from rooms where rooms.id_room_size not in (
    select id_room_size from hotel.roomsize
    )
    Ответ написан
    3 комментария
  • Есть ли алгоритмы арифметического вычисления натурального логарифма и тригонометрических функций?

    @d-stream
    Готовые решения - не подаю, но...
    Всего-то достаточно открыть википедию про синус: https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D...
    Ответ написан
    Комментировать
  • Как хранить позицию точки в базе данных в данном конкретном случае?

    @d-stream
    Готовые решения - не подаю, но...
    Если
    обращаю внимания что цифры нужны только риалтайм, истории хранения не надо
    - то прямо в оперативной памяти.

    И как-то надо определиться - реалтайм или же хранить -0)

    1024 точки из тройки пусть 2байтных int - 1024*2*3 = 6 килобайт - это вполне так посильно было даже компьютерам еще во времена когда "640 кб хватит всем"....
    Ответ написан
    1 комментарий
  • MySQL, Хранимые процедуры и функции, как вернуть multiple rows?

    @d-stream
    Готовые решения - не подаю, но...
    Процедура может возвращать результат селекта. Я бы даже сказал чаще всего так и бывает. А вот возвращающие что-то одно (функции) - пореже.

    Как типичный вариант - на входе получает кучку параметров-фильтров, флагов, а на выходе вываливает селект с отбором, сортировкой, группировкой по этим флагам.

    Как тупой образчик отбор контактов:

    create procedure get_contacts (idescr char, itype int, show_hidden bit )
    begin
    ... делаем кучи каких-нибудь проверок
    и где-то в конце

    select ... from ... join ....
    where contacts.descr like idescr
    and (itype=0 or contacts.type=itype)
    and (show_hidden=1 or contacts.is_hidden=0)
    end

    вызвав процедуру с параметрами '%%', 0, 1 - получим всех контрагентов, '%%', 0, 0 - только тех у кого не взведен флаг "скрытый" и т.п.

    естественно пример примитивный и не учитывает кучи всего - сам принцип.
    Ответ написан
    2 комментария
  • Как найти кривизну кривой по 3 точкам?

    @d-stream
    Готовые решения - не подаю, но...
    А что подразумевается под кривизной?

    Вообще если для гугла, то что-то типа "аппроксимация [окружностями|полиномами|логарифмическая|экспоненциальная]"
    Ответ написан
    Комментировать
  • Как передать в хранимую процедуру передать несколько строк данных?

    @d-stream
    Готовые решения - не подаю, но...
    По-моему "штатно" это в виде xml или json (первый вроде с 2008, второй - позже)
    Ответ написан
    Комментировать