Red de conocimiento informático - Problemas con los teléfonos móviles - La diferencia entre procedimientos almacenados y funciones en SQL SERVER

La diferencia entre procedimientos almacenados y funciones en SQL SERVER

1. La mayoría de las instrucciones son iguales, incluidas las instrucciones para crear y modificar procedimientos almacenados.

2. Muchas instrucciones sutiles son diferentes, como sigue (no solo): 1mysql admite tipos enum y set, sqlserver no admite 2mysql no admite tipos nchar, nvarchar, ntext 3la declaración de incremento de mysql es AUTO_INCREMENT, mientras que mssql es identidad (1, 1 )MYSQL: createtablebasic(idintkeyauto_increment, namevarchar(20)); MSSQL: createtablebasic(idintidentity(1, 1), namevarchar(20)) 4msms El valor predeterminado de la declaración de creación de tabla es ((0)), y en mysql es no se permite tener dos corchetes. 5mysql necesita especificar el tipo de almacenamiento para la tabla. 6mssql el identificador es []. [tipo] significa que es diferente de las palabras clave (opcional para incluir nombres de tablas y campos), pero mysql es `( acento acento), es decir, el símbolo a la izquierda del botón 1) 7mssql admite el método getdate() para obtener la hora y la fecha actuales, pero mysql se puede dividir en tipo de fecha y tipo de hora. La fecha actual es cur_date(. ), y el tiempo completo actual es la función now(). 8mssql no admite la declaración de reemplazo, pero en el último sql20008, la sintaxis de fusión también es compatible. 9mysql admite insertintotable1sett1='', t2='', pero mssql no admite la escritura. así 10mysql insertar varias filas admite la escritura insertintotabl1values(1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1) MSSQL no admite 11mssql no admite la declaración de límite, lo cual es muy lamentable. Solo puedes usar top En lugar de limit0, N, la función row_number()over() reemplaza a limitN cuando mysql debe especificar un tipo de motor de almacenamiento para cada tabla. crear una tabla, mientras que mssql solo admite un motor de almacenamiento 13mysql no admite el tipo de fecha y hora cuyo valor predeterminado es la hora actual (mssql es fácil de hacer, use el tipo de marca de tiempo 14 para verificar si existe esta tabla antes). eliminarlo debe hacer esto: ifexists(select*fromdbo.sysobjectswhereid=object_id(N'uc_newpm')andOBJECTPROPERTY(id, N'IsUserTable ')=1) Pero en MySQL solo se necesita DROPTABLEIFEXISTScdb_forums; puede almacenar el doble del número máximo que mssql que no admite enteros sin signo. 16mysql no lo admite. Es muy conveniente usarlo en el tipo Varchar (max), este tipo se puede usar tanto para almacenamiento de datos generales como para datos de blobs. almacenamiento en mssql 17. Para crear un índice no agrupado en mysql, solo necesita especificarlo como clave al crear la tabla. Por ejemplo: KEYdisplayorder(fid, displayorder) en Debe ser requerido en mssql: createuniquenonclusteredindexindex_uc_protectedmembers_username_appidondbo.uc_protectedmembers (. nombre de usuarioasc, appidasc) 18el tipo de campo de texto mysql no permite un valor predeterminado 19La longitud total del campo *** de una tabla en mysql no excede 65XXX.

20 Una diferencia muy superficial es que la instalación de MySQL es muy simple y el tamaño del archivo es de solo 110 M (versión sin instalación). En comparación con el gigante Microsoft, el progreso de la instalación es simple... 21 Hay varias herramientas de administración mejores. para mysql, mysql_front y la suite oficial, pero no son tan fáciles de usar como SSMS, lo cual es una gran deficiencia de mysql. 22Los procedimientos almacenados de MySQL solo aparecen en la última versión y es posible que la estabilidad y el rendimiento no sean tan buenos como los de mssql. 23 Bajo la misma presión de carga, mysql consume menos CPU y memoria, mientras que mssql consume muchos recursos. 24php tiene métodos similares para conectar mysql y mssql. Solo necesita reemplazar la función mysql con mssql. 25mysql admite tipos de fecha, hora y año, y mssql solo admite fecha y hora en 2008. 26 Asignación de variables MYsql: Asignación de variables SELECT@min_price: =MIN(precio), @max_price: =MAX(precio)FROMshopMSsql: Asignación de variables SELECT@min_price=MIN(price), @max_price=MAX(price)FROMshop 3. General para Por ejemplo, si se trata de un código de procedimiento almacenado simple, no será demasiado difícil de modificar. Si es un sistema complejo, será muy difícil trasplantarlo.