Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 向接口插入记录_Sql Server 2005_Database Design_Interface_Sql Server 2000 - Fatal编程技术网

Sql server 2005 向接口插入记录

Sql server 2005 向接口插入记录,sql-server-2005,database-design,interface,sql-server-2000,Sql Server 2005,Database Design,Interface,Sql Server 2000,我已经设置了一个存储过程,用于将单个记录插入表中。这样做的原因是为了创建一个供人们使用的通用接口,这样我就可以更改它所指向的表结构,而无需任何人注意或在将来更改其端的代码 当用户必须插入许多记录时,就会出现问题。通常情况下,他们能够执行一个INSERT语句,该语句一次插入多条记录,但使用此接口,他们被迫在每条记录之间循环,逐个插入。速度不是这里最大的因素,可访问性才是 我已经考虑过使用视图,但我不确定这是否有效。我只是对他们不够熟悉,无法确定。另外,来自其他服务器的查询可能正在访问该界面,我认为

我已经设置了一个存储过程,用于将单个记录插入表中。这样做的原因是为了创建一个供人们使用的通用接口,这样我就可以更改它所指向的表结构,而无需任何人注意或在将来更改其端的代码

当用户必须插入许多记录时,就会出现问题。通常情况下,他们能够执行一个INSERT语句,该语句一次插入多条记录,但使用此接口,他们被迫在每条记录之间循环,逐个插入。速度不是这里最大的因素,可访问性才是

我已经考虑过使用视图,但我不确定这是否有效。我只是对他们不够熟悉,无法确定。另外,来自其他服务器的查询可能正在访问该界面,我认为视图不允许您从其他服务器插入


您建议我怎么做?

您可以有2个存储过程。一个使用SQL Server的大容量插入,另一个是用于插入一条记录的标准插入(您已经有了)。您的用户可以根据需要调用其中一个

有关批量插入的更多信息

看看这门课。这似乎符合您的要求。

我不明白批量插入如何解决问题。如何“传入”记录?批量插入需要一个文件。下面是一个例子:使用文件并不能解决问题。问题不在于我有大量的记录,而是我不希望用户在访问接口时必须重写程序,使用循环而不是INSERT语句。我不认为可以使用一个SQL Server“INSERT”语句插入多个数据记录。SQLServer2008可能有这样的功能,但不是2005年和2000年。这里有一个技巧,你可以试试。我不知道它的性能如何:当我说“一次插入多条记录”时,我的意思是:插入到表1(第1列,第2列,…)选择第3列,第4列。。。从表2中我也想到了这个,这假设他使用的是.NET语言。用户可以使用他们想要的任何语言。当你说用户是指其他程序员时,他们无法访问表本身(接口点…)?你能详细解释一下你所说的“接口”是什么意思吗?我想让其他程序员编写一个接口。哇,我不知道。你有我可以找到更多信息的链接吗?@Abe-我不知道有什么特别好的资源,但是如果你在谷歌上搜索
可更新视图
,你应该能找到很多东西。我认为他们可能很适合这里-但我看到这是标记为SQL Server 2000的,所以可能不是!另外,我不确定从另一台服务器插入可更新视图是否有任何限制。我自己从来没有遇到过。