㈠ 如何用sql代碼將動態查詢結果賦值給變數
1、首先最基本的賦值就是默認值了。
㈡ 如何給SQL SERVER存儲過程傳遞數組參數
確切的說不行-SQL SERVER沒有數組類型,ANSI SQL 92標准也不支持數組。但可用其它的方法來實現。
1. You could simulate an array by passing one or more varchar(255) fields with comma-separated values and then use a WHILE loop with PATINDEX and SUBSTR to extract the values.
1、你可以使用幾個VARCHAR(255)欄位來模擬數組,欄位中用逗號分開各個數據,然後使用循環和PATINDEX和SUBSTR分開這些數據。
2. The more usual way to do this would be to populate a temporary table with the values you need and then use the contents of that table from within the stored-procere. Example of this below2、通常這種方法需要為這些數據創建一個臨時表,然後在存儲過程使用表中的內容。如下例create procere mytest @MyParmTempTable varchar(30)asbegin-- @MyParmTempTable contains my parameter list... 這個變數是包含參數的表名-- For simplicity use dynamic sql to into a normal temp table...
create table #MyInternalList (
list_item varchar( 2 ) not null)set nocount oninsert #MyInternalList
select *
from sysobjects
create table #MyList (
list_item varchar( 2 ) not null)insert #MyList values ( 'S' )
insert #MyList values ( 'U' )
insert #MyList values ( 'P' )exec mytest "#MyList"3. If all you wanted to do was use the array/list as input to an IN clause in a WHERE statement you could use :-3、如果你想在IN子句里使用輸入的數組參數可以這樣做:CREATE PROCEDURE sp_MyProcere (@MyCommaDelimitedString
㈢ SQL2005存儲過程,多個傳入參數變數,求修改
試試用
sp_execute @strsqlOutput,N'@FileName nvarchar(50),@Photo nvarchar(20),@PhotoNum nvarchar(20)',
@FileName=@FileName,@Photo=@Photo,@PhotoNum=@PhotoNum
1.sp_execute 用於在存儲過程中執行相關的sql語句
2.如果要返回值,應該給輸出參數賦值
㈣ Sql中如何給變數賦值
DECLARE @n1 int,@n2 varchar(10)
set @n1 =(select age from table where column=xxx)
set @n2=(select gender from table where column = xxx )
------------------
或者一起賦值
就是樓上那個
DECLARE @n1 int,@n2 varchar(10)
select @n1 =age,@n2=gender
from table where column = xxx
------------------
select @n1,@n2 就知道變數的值了
㈤ Sql中如何給變數賦值
/*
Sql server 存儲過程中怎麼將變數賦值
*/
--SQL賦值語句
DECLARE @test1 INT
SELECT @test1 = 111
SET @test1 = 222
--SQL函數賦值,假定count()是自定義函數
DECLARE @test2 INT
SELECT @test2 = COUNT(*) FROM sys.sysobjects
--SQL存儲過程賦值,直接傳參處理(類似C語言中的指針嗎)
IF OBJECT_ID('sp_test') IS NOT NULL DROP PROCEDURE sp_test
GO
CREATE PROCEDURE sp_test(@test INT OUTPUT)
AS
BEGIN
SELECT @test = 999
GO
DECLARE @test3 INT
EXEC sp_test @test3 OUTPUT
SELECT @test3
DROP PROCEDURE sp_test
GO
㈥ sql語句中的問號和直接傳變數參數
第一條是用綁定參數的方法查尋
第二條是直接組成sql語句的方法查尋
推薦使用綁定變數,可以提高安全性,理論上性能可以提升5%左右。
如果個人習慣一氣呵成寫SQL並且系統不是很大的話,也可以用第二種。
㈦ 調用.sql文件有沒有比較好的參數傳遞方法
d:\test.sql腳本如下: [sql] view plain select &1 from &2; exit; 執行時這樣傳參數:sqlplus "scott/tiger@test" @d:\test.sql sysdate al 注意:參數必須用&[1-9]表示,不然傳不進去,會提示讓手動輸入參數 [sql] view plain C:\>sqlpl...
㈧ 如何傳遞參數到 SQL 腳本
可以這么寫,把目錄下file_1,file_2,file_3 文件名保存在一個文本文件里, 這個文件叫file.txt,格式一行一個文件名。比如腳本叫test.sh 使用:./test.sh file.txt 這樣就循環讀取文本中每行的文件名並代入到變數filename 或者你也可以通過files=($(ls -l | grep ^- | awk '{print $8}')) 截取一個files數組然後,for filename in ${files[*]} 往for循環里套。 #!/bin/bash while read filename do sqlplus -S g471725/g471725 <<EOF define v_input_file=$filename @sql.sql exit EOF done < $1
㈨ SQL語句中欄位的值是變數怎麼傳遞
如果你用存儲過程的話,你可以聲明一個變數來存放sql:
DECLARE @SQL_1 VARCHAR(8000)、
SET @SQL_1='update [表1] SET U_'+i+'=2 FROM [表1] where code=001 '
EXEC @SQL_1
如果你sql是直接寫在asp里的話:
sql1="update [表1] SET U_"&i&"=2 FROM [表1] where code=001"