当前位置: 首页 > 面试题库 >

使用PowerShell在SQL Server DB中插入字符串值。

左丘弘致
2023-03-14
问题内容

我有一长串需要在单列SQL Server表中插入的值。我使用以下代码。但是,这需要很长时间。有没有更简单的方法来实现这一目标?

$list = 'aaa','bbb','cccc','ddddd','eeeee','ffff'....

    foreach($i in $list) {
        $sql ="if not exists (select 1 from [table_nm] where column_nm = '$i' ) 
            begin 
              insert table_nm
              select '$i'
            end
            "

        Invoke-Sqlcmd -ServerInstance $server -Database db_nm -query $sql               
        }

问题答案:

尝试此操作,它将在单个连接上运行,因此您可以避免按照@vonPryz进行的昂贵开销:

$list = 'aaa','bbb','cccc','ddddd','eeeee','ffff'....
$server = "server1"
$Database = "DB1"

$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=true;"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
foreach($i in $list) {
    $sql ="if not exists (select 1 from [table_nm] where column_nm = '$i' ) 
        begin 
        insert table_nm
        select '$i'
        end
    " 
    $Command.CommandText = $sql
    $Command.ExecuteReader()
}
$Connection.Close()


 类似资料:
  • 我是mongoDB的新手,但我对couchDB非常了解。在couchdb中,我们有JSONObject和JSONArray,所以我们可以轻松地在文档中插入任何内容,比如 我想做下面这样的事情 所以这里有一个字符串列表,也可以是jsonarray或任何字符串数组,整数类型,这个数组放在文档的键名“master”上。 这是关于如何在mongodb中插入数组的全部想法。 我使用BasicBobObjec

  • Powershell 5说“no way Jose”,不能用空字符串或空字符串连接path。我说为什么不呢?有没有办法让join-path更“灵活”,而无需添加更多if-else块?

  • 我有这个代码: 并想补充: 敬它。我试过: 但我收到一个错误。

  • 问题内容: 我想在Python中将变量引入字符串中。 例如,看下面的脚本。我只是想为图像起个名字,例如…到,或者如果您使用会计师,因为我可以替换部分价值链以生成计数器。 问题答案: data = self.cmd(“r.out.gdal in=rdata out=geo{0}.tif”.format(i)) self.dataOutTIF.setValue(“geo{0}.tif”.format(

  • 所以我想对字符串的ArrayList按字母顺序进行插入排序,ArrayList是[“boy”,“eat”,“apple”,“code”,“tea”],但结果是[“code”,“apple”,“boy”,“eat”,“tea”],所以我不知道发生了什么,尽管我一直在检查我的代码。 谢谢

  • 问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >