javascript - 将字符串拆分为从 "] "开始、以 "As"结尾的子字符串

标签 javascript sql-server node.js reactjs

我从 Microsoft SQL Server 2008 R2 中的存储过程中提取了一个字符串, 使用此查询: EXEC sp_helptext 'MyStoredProcedureName'; 我需要将此字符串拆分为数组或子字符串,从结束括号“]”开始并以单词“As”结束。 我必须保存 (fieldsArray) 中以“@”开头的所有字段以及这些字段的类型 - 在空格之后 - (typeArray) 中,然后将它们输出到 node.js 中的文件中格式:

 InvoiceNo: {
     type: DataType.String(255),
    },

这是提取的字符串:

CREATE PROCEDURE [dbo].[MyStoredProcedureName]
 @InvoiceNo int
,@TransDate datetime 
,@CustomerID bigint
,@CurrencyID bigint
,@SalesInvoiceTypeID bigint 
,@DiscountAmount nvarchar(50) 
,@DetailXml ntext 
,@TotalAll float 
,@TotalBefore float 
,@TaxAmount float
,@OtherExpenses float
,@OutVouchersNo nvarchar(1000)
,@Notes nvarchar(1000) 
,@TotalWiegts float
,@VoucherDefID bigint
,@SalesmanID bigint
,@IsSale bit

 AS
BEGIN TRANSACTION

编辑:我使用了另一个查询而不是上面提到的查询。现在我有一个包含查询结果的对象,该结果是每个单独行中的字段名称。我现在需要做的是将这个对象分离为一个字符串数组,以便我可以单独处理每个名称。 对象“Names”包含我使用的查询的结果:

Names = await sequelize.query(namesQuery); 

这是 console.log(Names); 的输出

[ [ { '': 'InvoiceNo' },
    { '': 'TransDate' },
    { '': 'CustomerID' },
    { '': 'CurrencyID' },
    { '': 'SalesInvoiceTypeID' },
    { '': 'DiscountAmount' },

我尝试了 Names.split 但收到错误“Names.split 不是函数”

最佳答案

您可以查询 Sys.Parameters 表:

SELECT Substring(Parameters.Name,2,255) + ': { type: DataType.' + 
       CASE types.Name
          WHEN 'varchar' THEN 'String(' + CAST(Parameters.Max_Length As Varchar)      
          WHEN 'int' THEN 'Int'
          ELSE 'COMPLETE THE REST OF THIS yourself.....'
       END + '),},'
FROM Sys.Parameters
INNER JOIN sys.procedures on parameters.object_id = procedures.object_id 
INNER JOIN sys.types on parameters.system_type_id = types.system_type_id AND parameters.user_type_id = types.user_type_id
Where procedures.name = 'MyStoredProcedureName'

关于javascript - 将字符串拆分为从 "] "开始、以 "As"结尾的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226663/

相关文章:

javascript - AngularJS HTTP请求不会出现在错误中

javascript - 如何在 onLoad 和 onBeforeUnload 事件上创建一个函数

sql-server - Azure Blob 到 SQL Server 批量插入 - 没有文件访问权限

node.js - 将nodeJS部署到Heroku内部错误

php - 无法将产品添加到后端创建的新订单中

javascript - 如何在按键上向textArea添加字符?

sql - MSSQL : Select rows with more than 2 occurrences in another table

c# - c# 中的 SQL Server Binary(16)

node.js - 我完全按照教程所示编写了代码,但它不起作用

node.js - NodeJS 的 OData