sql中變數的使用
❶ sql變數的使用
把到導入的文件放在一個文件夾
查找這個文件夾中所有的文件,放到數組中,然後循環數組導入
❷ 在SQL語句中使用變數
WHEREtemperature='31'"; 變成 WHEREtemperature= t 然後執行看看控制台給你打出來的SQL是什麼樣的 看看這個T的表示形式 缺什麼哪不對就改唄 比如控制台打出來的WHEREtemperature=31 如果想要引號 拼字元串還不好說嗎 自己動手多試試
❸ sql變數的使用
再弄個變數 v_sql varchar(50)
然後set v_sql = 'select count(*) from ' + v_tablename
然後EXEC (v_sql)就好了吧
❹ 如何在SQL語句中使用變數
使用變數一般是在存儲過程、方法、觸發器等T-Sql編程的時候用的,使用Declare 來定義變數,在方法/存儲過程/觸發器等裡面進行調用。
❺ SQL語句中怎樣使用變數
c#語法
String strSql="SELECT id,pwd FROM Users WHERE id='"+userid+"' AND pwd='"+username+"'"
vb語法
String strSql="SELECT id,pwd FROM Users WHERE id='"&userid&"' AND pwd='"&username&"'"
❻ sql語句使用變數的前提是什麼
雙擊滑鼠打開用於資料庫管理的「企業管理器」
❼ oracle pl/sql中如何使用變數
定義並使用變數
PL/SQL有四種類型:標量類型,復合類型,引用類型 (reference),LOB(Large Obejct)類型
一、標量類型
最常用的就是標量類型,是指只能存放單個數值的變數,包括數字類型、字元類型、日期類型和布爾類型,每種類型又包含相應的子類型。
常量標量類型如下:
VARCHAR2 (n) , CHAR (n), NUMBER (p,s),DATE, TIMESTAMP , LONG , LONG RAW ,BOOLEAN,BINARY_INTEGER(僅 PL / SQL使用),BINARY_FLOAT和BINARY_DOUBLE(10g新引入的)
定義標量:
identifier [CONSTANT] datatype [NOT NULL] [:=| DEFAULT expr]
使用標量需要注意的是=號被:=取代,與delphi一樣的賦值符號@_@
例子:
v_name VARCHAR2 ( 10 );
v_rate CONSTANTS NUMBER ( 4 , 2 ) : = 3.04 ;
為了防止定義的變數類型與表中的欄位類型不一致,可以使用%TYPE來定義:
v_name employee.name % TYPE;
如上面所示,v_name的類型就與表 employee中的name欄位類型一樣!!
二、復合變數:
用於存放多個值的變數稱為復合變數,包括PL/SQL記錄,PL/SQL表,嵌套表和VARRAY四種類型
1.PL/SQL記錄
類似於C/C++中的結構概念:
declare
TYPE employee_record is RECORD(
id employee.id % TYPE,
name employee.name % TYPE,
email employee.email % TYPE);
em_record employee_record;
begin
select id,name,email into em_record from employee where name =& name;
dbms_output.put_line( ' 雇員名: ' || em_record.name || ' 雇員ID: ' || em_record.id);
end ;
2.PL/SQL表,類似於數組概念,不同的是PL/SQL表允許負值下標,而且沒有上下限,如:
declare
TYPE employee_table is table of employee.name % TYPE index by BINaRY_INTEGER;
em_table employee_table;
begin
select name into em_table( - 1 ) from employee where name =& name;
dbms_output.put_line( ' 雇員名: ' || em_table( - 1 ));
end ;
3.嵌套表,與PL/SQL 表相似,不同的是嵌套表可以做表列的數據類型,而PL/SQL表不能,使用嵌套表作為表列時,必須為其指定專門的存儲表,如:
create or replace TYPE emp_type as OBJECT(name VARCHAR2 ( 10 ),salary NUMBER ( 6 , 2 ),hiredate DATE);
CREATE OR REPLACE TYPE emp_array IS TABLE OF emp_type;
CREATE TABLE department(
deptno NUMBER ( 2 ),dname VARCHAR2 ( 10 ),
employee emp_array)NESTED TABLE employee STORE as employee_dept;
4.VARRAY(變長數組),與嵌套表相似,也可以做為表列的數據類型,但是嵌套表沒有個數限制,而VARRAY有個數限制,如:
CREATE TYPE TEST_ARRAY IS VARRAY(20) OF emp_type;
三、引用變數(reference)
類似於C++中的指針或者JAVA中引用的概念,用於存放數值指針的變數,使用此變數,可以使得應用程序共享相同對象,降低佔用空間。此類有兩種類型:游標(REF CURSOR)和對象類型(REF OBJECT)
1.REF CURSOR,定義時同時指定SELECT語句的游標稱為顯式或者靜態游標,在打開時才指定SELECT語句的游標稱為動態游標,如:
DECLARE
TYPE c1 IS REF CURSOR ;
emp_cursor c1;
v_name employee.name % TYPE;
v_sal employee.salary % TYPE;
begin
open emp_cursor for
SELECT name,salary FROM EMPLOYEE ;
LOOP
FETCH emp_cursor INTO v_name,v_sal;
EXIT WHEN emp_cursor % NOTFOUND;
dbms_output.put_line(v_name);
END LOOP;
close emp_cursor;
end ;
2.REF OBJECT,與JAVA的引用概念相同,存儲的是指向對象的指針
四、LOB類型
LOB類型是指用於存儲大批量數據的變數,包括內部的3種(CLOB,BLOB,NCLOB)和外部LOB(BFILE)。
CLOB,NCLOB用於存儲大量的字元數據。
BLOB用於存儲大批量二進制數據(如圖象)。
BFILE則存儲指向OS文件的指針。
❽ SQL中的變數引用方法
strSQL = "selet * from table1 where name = ' " &UserName& " '"
上面這個語句肯定是在你的asp文件中的了。
asp字元串連接符是&,這個你知道的,所以,不難看出,strSQL是由三部分組成的:
1. "selet * from table1 where name = ' "
2. UserName
3. " '"
如果你把語句顯示到頁面上,你就可以看到,真正的語句如下(假設UserName變數的值是『王明』):
selet * from table1 where name = '王明'
這也是最終你的資料庫要執行的語句。
這就很容易解釋了,雙引號在ASP中定義字元,"'"這個是一個字元串,不過這個字元串只有一個字元,就是那個單引號,這個單引號要用到資料庫SQL語句中使用。
一句話,雙引號是ASP用來定義字元串的,&符號是用來連接兩個字元串的。
祝好運。
❾ sql2005存儲過程中變數的使用
@yf在你的存儲過程中是定義了,但是在@sql中沒有定義,當你執行@sql的時候,外面定義的變數在裡面是無效的。給你3點建議。
1. 能不用動態sql盡量不要用,因為系統沒法給你預先確定執行計劃,所以動態sql是不高效的。
2. 既然你用了動態sql,那麼復雜的判斷邏輯就不要放在 @sql 裡面了。而是放在外面。
3. 外面定義的@yf,是一個變數,如果直接用在@sql那就不是變數,而僅僅是一個符號,所以只可以用 @sql = @sql + @yf的方式使用,不可以在裡面直接用。當然還要注意單引號。
4. 臨時表不是表變數,用完記得刪除。 如果涉及到的數據不是特別多,建議你用表變數效率更高。declare @test001 table (a_yf int,a_dwbh int)
❿ C# SQL條件查詢語句where中使用變數的用法
在c#中使用
SQL語句
首先注意兩點、
第一
語句的構造是否正確,
第二
與程序交互時。使用到的一些變數
1.
在sql語句中。
如果某個欄位的數據類型不為
數字形式
那麼。
在sql語句中
條件判斷...都需要用到
(兩個單引號)將數據
括起來;
例如:
表[student]
id(自動編號)
uID(學號)
uName(學生姓名)
-->查詢(名字是李世民的學生信息)
:
select
uID,
uName
FROM
student
WHERE
uName
=
'李世民'
2.在C#中,string
類型的變數需要使用(兩個雙引號)
「」
括起來
結合以上兩點、
在
c#中
拼湊
SQL
查血語句
你就可以這樣使用
---------------------------------------------------------
string
str_Sql
=
"
SELECT
uID,
uName
FROM
student
WHERE
uName
=
''
"
;
1.首先把你的SQL語句構造好。
不要先加變數
string
str_Sql
=
"
SELECT
uID,
uName
FROM
student
WHERE
uName
=
'
「+
+」
'
"
;
2.在需要使用變數的位置
用(兩個雙引號)將這句話分開。
現在它只不過是字元串而已;
在這其中,
你可以看出來
後加入的兩個雙引號,
一個是用來結束啊
最開頭的
雙引號。
一個是用來匹配結尾的雙引號。
---->在c#語句中。
使用
兩個雙引號
將字元串括起來。
注意一定要成對
---->連接兩個字元串所有的操作符
是
+號
---------------------------------------------------------
string
str_Sql
=
"
SELECT
uID,
uName
FROM
student
WHERE
uName
=
'
"+
變數
+"
'
"
;
總結:雙引號
「
和
加號
+
是C#中的定界符
兩個雙引號之中的字元都被程序認定為字元串不參與任何計算或是程序的執行。
單單是字元串。
而加號。
是連接兩個字元串的
定界符。
比如
string
str_Print
=
」我是「
+
」天下第一「;
那麼
變數
str_Print的值為
我是天下第一
單引號
'
是SQL語句中對數據類型為字元類型的欄位使用的
nvarchar
ntext
nchar
。。。這些都是
---------------不懂的地方再問我