{"id":15286473,"url":"https://github.com/naujiano/node-sql-query","last_synced_at":"2026-02-20T19:32:56.381Z","repository":{"id":81597388,"uuid":"105415603","full_name":"Naujiano/node-sql-query","owner":"Naujiano","description":"Node.js query interface for Microsoft SQL Server databases.","archived":false,"fork":false,"pushed_at":"2020-02-24T04:03:26.000Z","size":32,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-06T19:15:32.592Z","etag":null,"topics":["database","database-access","microsoft-sql-server","mssql","nodejs","query-builder"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Naujiano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-01T02:57:55.000Z","updated_at":"2020-02-24T04:03:02.000Z","dependencies_parsed_at":"2023-03-13T20:08:13.781Z","dependency_job_id":null,"html_url":"https://github.com/Naujiano/node-sql-query","commit_stats":{"total_commits":23,"total_committers":1,"mean_commits":23.0,"dds":0.0,"last_synced_commit":"1b01ffd75f4b27c47c4e2a278b85224306d0f38d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naujiano%2Fnode-sql-query","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naujiano%2Fnode-sql-query/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naujiano%2Fnode-sql-query/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naujiano%2Fnode-sql-query/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naujiano","download_url":"https://codeload.github.com/Naujiano/node-sql-query/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245170119,"owners_count":20572010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","database-access","microsoft-sql-server","mssql","nodejs","query-builder"],"created_at":"2024-09-30T15:14:32.085Z","updated_at":"2025-10-15T19:17:32.201Z","avatar_url":"https://github.com/Naujiano.png","language":"JavaScript","readme":"# A Node.js query interface for Microsoft SQL Server\n\nThis repository contains a Node.js interface that can query and paginate results from Microsoft SQL Server databases.\n\nIt internally handles the **connection establishment** and the **connection pools** so that many queries can be executed simultaneously.\n\n# Installation\n\n```\nnpm install node-sql-query\n```\n\n# Usage\n\n```js\nconst nsq = require ( 'node-sql-query' )()\n, connConfig = {\n    \"user\": \"sa\",\n    \"password\": \"Sqlserver0\",\n    \"server\": \"localhost\\\\SQLEXPRESS\",\n    \"database\": \"vsegbas\",\n    \"port\": 55857,\n    \"requestTimeout\": 600000\n}\n\nnsq.request ( \n  \"SELECT getdate() FROM sys.tables\"\n  , connConfig\n  , function ( recorset ) { console.log(recorset) }\n)\n\nnsq.dbq ({\n      \"columns\": [\n        \"clientes.cli_id\",\n        \"cli_apellido1\",\n        \"cli_apellido2\"\n      ],\n      \"schemaSyntax\": \"polizas inner join clientes on polizas.cli_id=clientes.cli_id\",\n      \"dbConnConfig\": connConfig,\n      \"orderbyColumns\": [\n        \"clientes.cli_id\"\n      ],\n      \"offset\": 4,\n      \"pageSize\": 4,\n      \"language\": \"spanish\"\n}, function ( recorset ) { \n    console.log(recorset) \n})\n```\n\n# Methods\n\n### .request(**sqlSyntax**,**connConfig**,**cb**)\n\nExecutes a SQL command.\n\n#### Parameters\n\n* **sqlSyntax**\n\n  (*string*) (Required)\n\n  The SQL command to pass to the database.\n\n* **connConfig**\n\n  (*object*) (Required)\n\n  An object with the connection parameters. Refer to [`node-mssql` general configuration](https://github.com/patriksimek/node-mssql#general-same-for-all-drivers)\n\n* **cb**\n\n  (*function*) (Required)\n\n  Callback function that will be called at the end of the request. The recorset (object) or the error will be passed as parameter.\n\n\n### .dbq(**query**,**cb**)\n\nExecutes a parametrized SELECT or INSERT or UPDATE or DELETE or Stored Procedure statement.\n\n#### Parameters\n\n* **query**\n\n  (*object*) (Required)\n\n  An object with the following keys:\n\n  - `operation`: (*string*) Posible values are: `select`, `insert`, `update`, `delete`, `sp`.\n  - `language`: (*string*) Refer to SQL Server `SET LANGUAGE` command for the available options.\n  - `dbConnConfig`: (*object*)(Required) An object with the connection parameters. Refer to [`node-mssql` general configuration](https://github.com/patriksimek/node-mssql#general-same-for-all-drivers)\n  - `columns`: (*array*)(Required) An Array with the names of the columns.\n  - `schemaSyntax`: (*string*)(Required)\n  - `whereSyntax`: (*string*)\n\n\n  Only available for `select` operation:\n\n  - `orderbyColumns`: (*array*)\n  - `pageSize`: (*string*)\n  - `offset`: (*string*)\n\n\n  Only available for `insert` or `update` operations:\n\n  - `values`: (*array*) Must have the same length as `columns`. Values that will be assigned to each column.\n  \n\n  Only available for `sp` operation:\n\n  - `sp_name`: (*string*) The name of the Stored Procedure followed by the parameters.\n\n\n  **The resultant SQL queries will be composed like this:**\n\n  **SELECT**\n\n  `SET LANGUAGE [language] SELECT [columns] FROM [schemaSyntax] WHERE [whereSyntax] ORDER BY [orderbyColumns]`\n\n  The `pageSize` (number of records per page) and `offset` (number of records to skip) parameters allows for paging the results.\n\n  **INSERT**\n\n  `SET LANGUAGE [language] INSERT INTO [schemaSyntax] ( [columns] ) VALUES ( [values] )`\n\n  **UPDATE**\n\n  `SET LANGUAGE [language] UPDATE [schemaSyntax] SET ( [columns[0]] = [values[0]], [columns[1]] = [values[1]], ... ) WHERE [whereSyntax]`\n\n  **DELETE**\n\n  `SET LANGUAGE [language] DELETE [schemaSyntax] WHERE [whereSyntax]`\n\n  **SP**\n\n  `SET LANGUAGE [language] EXEC [sp_name]`\n\n\n* **cb**\n\n  (*function*) (Required)\n\n  Callback function that will be called at the end of the request. The recorset (object) or the error will be passed as parameter.\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaujiano%2Fnode-sql-query","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaujiano%2Fnode-sql-query","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaujiano%2Fnode-sql-query/lists"}