Articles of sp executesql

EXEC y Set Quoted_Identifier

Tengo un procedimiento almacenado [A] que crea otro process almacenado [B] [A] Nunca será ejecutado por usuarios finales y no tiene parameters u otros datos que no sean de confianza. En cambio, lo utilizo simplemente para automatizar la creación del complejo SP [B]. [A] Siempre tendrá el mismo resultado a less que se cambien las […]

Cómo usar sp_executesql para evitar la inyección de SQL

En el código de ejemplo siguiente, Table Name es un parámetro de input. En este caso, ¿cómo puedo evitar la inyección SQL utilizando sp_executesql ? A continuación se muestra el código de ejemplo, estoy tratando de usar sp_executesql para evitarlo, pero no funciona. ¿Alguien puede decirme cómo corregirlo? ALTER PROC Test @param1 NVARCHAR(50), @param2 INT, […]

Crear tabla en por instrucción sql usando executeUpdate en Mysql

Tengo el siguiente doGet() : protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { MysqlDataSource ds = new MysqlConnectionPoolDataSource(); ds.setServerName("localhost"); ds.setPort(3306); ds.setUser("root"); ds.setPassword(""); try { Connection connection = null ; connection = ds.getConnection(); Statement statement = connection.createStatement(); // create the DB .. statement.executeUpdate("CREATE DATABASE IF NOT EXISTS " +"testSQLtable" ) ; // use DB […]

Pasar una variable TABLE a sp_executesql

Estoy tratando de pasar una variable TABLE al procedimiento sp_executesql: DECLARE @params NVARCHAR(MAX) SET @params = '@workingData TABLE ( col1 VARCHAR(20), col2 VARCHAR(50) )' EXEC sp_executesql @sql, @params, @workingData Me sale el error: Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'TABLE'. Intenté omitir la especificación de la columna después […]