SQLSERVER儲存過程查詢資料表中某列存在空值
CREATE PROCEDURE [dbo].[PRO_CHK_COLUMNS_VALUES]
-- Add the parameters for the stored procedure here
@TableName nvarchar(50) ,
@column_name nvarchar(50) OUTPUT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Declare the return variable here
DECLARE @list_column_name nvarchar(50)
DECLARE @sql nvarchar(1000)
DECLARE @count int
declare cur cursor for --定義遊標
select name from sys.columns where object_id=OBJECT_ID('' [email protected]+'')
open cur--開啟遊標
fetch next from cur into @list_column_name --把提取操作的列資料放到區域性變數中
while(@@fetch_status=0) --遊標讀取下一條資料是否成功
begin
SET @sql='select @count = COUNT(1) from '[email protected] +' where '[email protected]_column_name +' is null '
exec sp_executesql @sql,N'@count nvarchar(50) out ',@count out
if @count > 0
begin
SELECT @ [email protected]_column_name
break
end
fetch next from cur into @list_column_name --讀取下一條資料記錄放到區域性變數中,變數的數目必須與遊標選擇列表中的列的數目一致
end
close cur--關閉遊標
deallocate cur--刪除遊標
END
相關推薦
SQLSERVER儲存過程查詢資料表中某列存在空值
CREATE PROCEDURE [dbo].[PRO_CHK_COLUMNS_VALUES] -- Add the parameters for the stored procedure here @TableName nvarchar(50) , @colum
AE中獲取資料表中某欄位唯一值
{ 9 // 得到IFeatureCursor遊標 10 IFeatureCursor pCursor = pFeatureClass.Search( null , false );11 12 // coClass物件例項生成 13
Sql Server儲存過程從一個表中抓取資料填充到另一張表中
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author: <alex,,Name> -- Create
mysql用儲存過程將一個表中的資料跟新到另一個表中
這兩天學習mysql遊標的使用 就做了一個小練習題目 很簡單但是可以鍛鍊一下mysql遊標的使用方法 將friend1表中的資料更新到user-fri friend1 需要更新的表 user_fri 儲存過程如下 BEGIN DECLARE userid int;
mysql使用儲存過程將一個表中的資料匯入另一個表
儲存過程 本人也是第一次使用儲存過程,中間遇到了很多坑,在此記錄一下,希望能幫助使用的人少踩點坑。。 先說一下我使用儲存過程的需要,其實需求很簡單就是把一個表中的資料匯入一個新的表中,並且刪除原有表中的資料,說白了就是一個數據的備份 我是使用navicat
sqlserver 查詢資料表中每個類別最新的一條記錄
本文此處所規定的類別為省份ID,原始表如下圖所示: 所使用SQL語句為: select a.* from tbl_MaterialPice a,(select province_ID,max(
解決 mysql 儲存過程查詢資料方式是變數拼接表名的寫法
需求: 用儲存過程查詢動態表名的資料 遇到問題: 查詢語句 from後面不能直接用引數查詢 MYSQL不支援直接使用變數做表名,會把引數名當做表名查詢,報錯 解決方法: 把查詢語句和變數通過concat連線付給變數。通過執行變數來執行此語句 sql程式碼:
sqlserver儲存過程實現資料批量刪除--分割字串實現
寫的儲存過程,接收的引數的一個字串,通過分割字串從而實現批量刪除。 IF (@operation = 'delete') BEGIN DECLARE @temp nvarchar(200) DECLARE @splitchar nvarchar(1) SET
sqlServer儲存過程查詢語句
select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped=0 and a.object_id = b.object_i
SQLServer儲存過程自制資料字典
相信很多小夥伴都對【資料字典】很頭疼。 小編剛入職的時候,老大丟一個專案過來,就一個設計文件,資料字典木有,欄位說明木有, 全部都需要靠“聯絡上下文”來猜。所以小夥伴門一定要養成說明欄位的習慣哦。 說明欄位後我們無需特意建立資料字典,直接建立一個儲存過程就可以查詢欄位意義了。 儲存過程建立如下,小夥伴
SQLSERVER儲存過程基本語法(中)
五、遊標 declare @ID int declare @Oid int declare @Login varchar ( 50) --定義一個遊標 declare user_cur cursor for select ID, Oid,[Login] from ST_Us
dataset中獲取其中一個表中某列的值放到List中
//獲取 dataset,後面的方法為自己所寫,請根據實情自己填寫 DataSet dsrows = WMFEntityManager.Instance.GetEntityInfoByPKLite2("admin", "im_group", "is_del", "1", "owner", "
PostgreSQL中設定表中某列值自增或迴圈
在postgresql中,設定已存在的某列(num)值自增,可以用以下方法: //將表tb按name排序,利用row_number() over()查詢序號並將該列命名為rownum,建立新表t
table表中textarea判斷輸入空值判斷
function checkinput() { var tb = document.getElementById("tba"); var ret = true; for (var i = 0; i < tb.rows.le
sqlserver儲存過程中利用遊標遍歷結果集簡單示例及查詢資料庫時間
本例項用的是sqlserver2005 在儲存過程中遍歷結果,和查詢資料庫中所有 儲存過程名稱 加以處理以文字形式輸出 原始碼: drop procedure findName create procedure findName--建立一個名為findName的儲存過
SQL Server : 表是否存在;表中某欄位是否存在;儲存過程是否存在;索引是否存在;
table_name --表名field_name --欄位名一、表是否存在:--如果不存在表,那麼建立IF OBJECT_ID('table_name') IS NULL BEGIN CREATE TABLE table_name([field_name] [UN
SqlServer用資料字典表替換某一表中某個欄位的值
base_CompanyType為資料字典表,有ID和CompanyType兩列,如IDCompanyType1監理單位2勘察單位base_company_info 為替換目標表,companytypeid列可能有多個的CompanyType組合,用“,”隔開,如“監理單位,
sqlserver 儲存過程中使用臨時表到底會不會導致重編譯
曾經在網路上看到過,SqlServer的儲存過程中使用臨時表,會導致執行計劃無法重用, 執行時候會導致重編譯的這麼一個說法,自己私底下去做測試的時候,根據profile的跟蹤結果, 如果不是統計資訊變更導致導致的重編譯,單單是使用臨時表,並不會導致重編譯, 但是對於
資料庫中查詢2張表中某兩個欄位不同的資料
例: 表a 欄位 as aid at ao 表b 欄位 bs bid bf bg bh 其中表a中欄位as 的資料是 1 5 7 2 9 90 87 23 其中表b中欄位bs 的資料是
Oracle用定時任務儲存過程將資料轉存到歷史表,提高查詢速度
一、定義儲存過程 CREATE OR REPLACE PROCEDURE Sync_INFO_HISTORY IS BEGIN insert into depart_passenger_info