--1
、普通sql
語句
select customerid,
companyname,contactname,address
,city,phone from dbo.customers
goexec ('select customerid,
companyname,contactname,address
,city,phone from dbo.customers')
goexec sp_executesql n'select customerid,
companyname,contactname,address,city,phone from dbo.customers'-----
注意字串加
n---2
、欄位名,表名為變數時,必須用動態
sql
declare @fname varchar(100)
set @fname='customerid,companyname,contactname,address,city,phone'
declare @strsql varchar(1000)
set @strsql='select '+@fname+' from dbo.customers'
exec(@strsql) -- 成功
--exec sp_executesql @strsql --
此句會報錯
,因為定義
@strsql
資料型別為
varchar,
改為n varchar即可
godeclare @fname varchar(100)
set @fname='customerid,companyname,contactname,address,city,phone'
declare @strsql nvarchar(1000) --
改為nvarchar(1000)
set @strsql = 'select ' + @fname + ' from dbo.customers'
exec(@strsql)
exec sp_executesql @strsql
--3
、以引數形式輸出
declare @strsql nvarchar(1000)
set @strsql='select count(*) from dbo.customers'
exec(@strsql)
go--
將結果放到變數中
,輸出引數
declare @counter int
declare @strsql nvarchar(1000)
set @strsql='select @counter=count(*) from dbo.customers'
exec sp_executesql @strsql,n'@counter int output',@counter output
select counter=@counter
動態規劃初探
最先聽說動態規劃還是在研究生的最優控制課上,課上介紹了用動態規劃解決最優問題。其實動態規劃 dynamic programming dp 和分治方法類似,都是通過組合子問題來求解原問題。不過動態規劃應用於問題重疊的情況,即不同的子問題具有公共的子子問題,每個子問題只求一次,而不必重新計算。就我個人的...
動態規劃初探
為了解決多階段決策問題,我們可以使用窮舉法和動態規劃方法。但是當決策和階段數量達到一定程度後,窮舉法帶來的龐大計算量極大的降低了我們解決該類問題的效率。為了避免窮舉法帶來的龐大計算量,於是我們引入了動態規劃方法去解決該類問題。首先,我們需要了解什麼是多階段決策問題。這不難理解,這裡我舉個簡單的例子來...
SQL注入初探
通過將惡意的sql查詢或新增語句插入到應用的輸入引數中,再在後台sql伺服器上解析執行進行的攻擊 引數值可控 帶入資料庫執行 屬於microsoft公司,access只有乙個庫,若干張表,此資料庫一般用於中小學 可以安裝office套件進行檢視 或通過別的工具 dbview easy acess等 ...