Ⅰ 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用來定義字元串的,&符號是用來連接兩個字元串的。
祝好運。
Ⅱ 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語句中怎樣使用變數
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變數的使用
把到導入的文件放在一個文件夾
查找這個文件夾中所有的文件,放到數組中,然後循環數組導入
Ⅳ sql insert語句中如何使用變數
sql insert語句中使用變數:
(insert)向表中添加一個新記錄,要使用SQL INSERT 語句。這里有一個如何使用這種語句的例子: INSERT mytable (mycolumn) VALUES (『some data') 這個語句把字元串'some data'插入表mytable的mycolumn欄位中。將要被插入數據的欄位的名字在第一個括弧中指定,實際的數據在第二個括弧中給出。
INSERT 語句的完整句法如下:INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
Values_list | select_statement}
如果一個表有多個欄位,通過把欄位名和欄位值用逗號隔開,可以向所有的欄位中插入數據。假設表mytable有三個欄位first_column,second_column,和third_column.下面的INSERT語句添加了一條三個欄位都有值的完整記錄:INSERT mytable (first_column,second_column,third_column)
VALUES (『some data','some more data','yet more data')
可以使用INSERT語句向文本型欄位中插入數據。但是,如果需要輸入很長的字元串,應該使用WRITETEXT語句。
如果在INSERT 語句中只指定兩個欄位和數據。向一個表中插入一條新記錄,但有一個欄位沒有提供數據。在這種情況下,有下面的四種可能:
1)如果該欄位有一個預設值,該值會被使用。例如,假設插入新記錄時沒有給欄位third_column提供數據,而這個欄位有一個預設值'some value'.在這種情況下,當新記錄建立時會插入值'some value'。
2)如果該欄位可以接受空值,而且沒有預設值,則會被插入空值。
3)如果該欄位不能接受空值,而且沒有預設值,就會出現錯誤。會收到錯誤信息:The column in table mytable may not be null.
4)最後,如果該欄位是一個標識欄位,那麼它會自動產生一個新值。當向一個有標識欄位的表中插入新記錄時,只要忽略該欄位,標識欄位會給自己賦一個新值。
註:向一個有標識欄位的表中插入新記錄後,可以用SQL變數@@identity來訪問新記錄 的標識欄位的值。考慮如下的SQL語句:
INSERT mytable (first_column) VALUES(『some value')
INSERT anothertable(another_first,another_second)
VALUES(@@identity,'some value')
如果表mytable有一個標識欄位,該欄位的值會被插入表anothertable的another_first欄位。這是因為變數@@identity總是保存最後一次插入標識欄位的值。
欄位another_first應該與欄位first_column有相同的數據類型。但是,欄位another_first不能是應該標識欄位。Another_first欄位用來保存欄位first_column的值。
Ⅵ SQL 變數的使用
--測試
select--@kemu=
科目fromS20181121094834wheremain_id=@main_id
Ⅶ 如何在SQL語句中使用變數
使用變數一般是在存儲過程、方法、觸發器等T-Sql編程的時候用的,使用Declare 來定義變數,在方法/存儲過程/觸發器等裡面進行調用。
Ⅷ SQL中,怎麼用變數
"SELECT * FROM tabelname where datepart(yy,dTime)="+year 變數不能放在字元串裡面的,你這樣只能用字元串拼接來做的
Ⅸ sql變數的使用
再弄個變數 v_sql varchar(50)
然後set v_sql = 'select count(*) from ' + v_tablename
然後EXEC (v_sql)就好了吧
Ⅹ sql腳本怎麼使用變數
Sql中如何給變數賦值使用set關鍵字。
例表格tt結構如圖:
下面語句聲明一個@ii_test的整型變數,然後給變數賦值,並在SQL查詢中調用變數