-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction-sql.ps1
More file actions
68 lines (55 loc) · 1.77 KB
/
Copy pathfunction-sql.ps1
File metadata and controls
68 lines (55 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# ----------------------------------------------------------------------
# Function: sql - Run a query against a specified database
# This function is autoloaded by .matt.ps1
# ----------------------------------------------------------------------
function run-sql { Param ( [String] $ServerInstance, [String] $Query ,
[String][Alias ("d", "db", "dbname", "DatabaseName")] $Database = "master",
[String][Alias ("f")] $File = "No_file_supplied")
write-debug $Query
if ("$Query" -like "ss*")
{
$Query = "p:\\powershell\\sql\\$Query.sql"
invoke-sqlcmd -ServerInstance $ServerInstance -inputfile $Query -Connectiontimeout 3 -Database $Database
}
elseif ("$File" -ne "No_file_supplied")
{
invoke-sqlcmd -ServerInstance $ServerInstance -inputfile "$GhSql\\$File" -Connectiontimeout 3 -Database $Database
}
else
{
invoke-sqlcmd -ServerInstance $ServerInstance -query $Query -Connectiontimeout 3 -Database $Database
}
}
set-alias sql run-sql
function run-SqlSelect
{
[CmdletBinding()]
Param ( $ServerInstance,
[String] $QueryFile = "c:\temp\poshsql\select.sql" )
write-debug $QueryFile
write-verbose "Validating file is safe"
if (test-path $QueryFile)
{
if (select-string -pattern update,delete c:\temp\poshsql\select.sql)
{
write-host "found something other than a select"
}
else
{
$Query = gc $QueryFile
write-debug "Running $Query"
foreach ($ServerInstance in $ServerInstance)
{
invoke-sqlcmd -ServerInstance $ServerInstance -inputfile $QueryFile -Connectiontimeout 3
}
}
}
else
{
write-host "couldnt find the file $QueryFile"
}
}
set-alias sqls run-sqlselect
# set-alias ssql run-sqlselect
function edit-SqlSelect {gvim c:\temp\poshsql\select.sql}
set-alias esql edit-SqlSelect