以sqlserver 為例
declare @temptable nvarchar(20)
declare @createtable nvarchar(200)
declare @typename nvarchar(20)
declare @tablename nvarchar(20)
declare @selectsql nvarchar(100)
set @temptable = 'a_type_zcfgt'--新建的表名
set @typename = 'b_type' --乙個字段
set @tablename = 'zcfgt' --表名
--建表
begin
set @createtable='create table '+ @temptable+' (id_ int identity(1,1),typename nvarchar(32))'
print @createtable
exec(@createtable)
end--查詢
begin
set @selectsql='select distinct('+@typename+ ') from '+@tablename
print @selectsql
end--插入
begin
set @createtable='insert into '+@temptable+' '+ @selectsql
print @createtable
exec(@createtable)
end
SQL實現表的動態查詢
一 事例 如果對乙個大學生三年成績的查詢通過學生學號,學生成績按學期存放在不同的表中,成績表如下 cjxx20051 也就是存放學生2005年第一學期的成績 cjxx20052 也就是存放學生2005年第二學期的成績 cjxx20061 也就是存放學生2005年第一學期的成績 cjxx20062 也...
SQL動態表查詢
在程式設計過程中,經常會遇到需要根據使用者的選擇進行查詢的情況,這時,使用者不同的選擇可能需要查詢不同的表名,而且這個表名可能還不宜事先在程式中定死,需要能動態的隨機選擇。當然還包括表名和使用者的某些資訊相關,可能不同的使用者需要進入不同的表,甚至表名的一部分就是使用者名稱的一部分,等等。對於這些情...
原創 把SQL的動態查詢改成SQL查詢
在我們使用儲存過程的時候,有時為了組合查詢條件,不得不使用動態查詢。比如下面的 create proc usp search city intas begin declare sql varchar 8000 set sql n select from testtable where 1 1 if ...