1. Get Table Size and Rows Details
select * from user_tables where table_name = 'TBL_XXXXXXXX'
2.
1. Get Table Size and Rows Details
select * from user_tables where table_name = 'TBL_XXXXXXXX'
2.
using System.Data.OleDb;
protected DataSet ReadExcel()
{
// Create a DataSet which will hold the data extracted from the worksheet.
DataSet ds = new DataSet();
string xls = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\murdhusi\Desktop\Mails\Data_29062022.xlsx;Extended Properties=Excel 8.0";
string xlsx = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\murdhusi\Desktop\Mails\Data_29062022.xlsx;Extended Properties=Excel 12.0";
string connString = xlsx;
// Create the connection object
OleDbConnection oledbConn = new OleDbConnection(connString);
try
{
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet Sheet1
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Export Worksheet$]", oledbConn);
// Create new OleDbDataAdapter
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
// Fill the DataSet from the data extracted from the worksheet.
oleda.Fill(ds, "Employees");
return ds;
}
catch
{
}
finally
{
// Close connection
oledbConn.Close();
}
return ds;
}
While Insert data into another varible some case if datanot available then we get an error on Oracle so take care that case we need to write a query like this.
Sample Procedure
create or replace
PROCEDURE "SPROC_VAULT_TEMP"
(
l_RECORDSET OUT TYPES.cursor_type,
l_ACTION in varchar2 DEFAULT null,
l_Vault_No_New in varchar2 DEFAULT null,
l_Vault_TKN_No in varchar2 DEFAULT null
)
As
l_PanNumber varchar2(100) default '';
l_Vault_No_Old varchar2(100) default '';
Begin
If l_ACTION = 'SelectById' Then
BEGIN
Select pan_number, vault_ref_aadhaar into l_PanNumber, l_Vault_No_Old from tbl_step1
Where vault_ref_aadhaar_old is null And uid_token = l_Vault_TKN_No;
Exception
WHEN TOO_MANY_ROWS then OPEN l_RECORDSET FOR Select 'Too Many Rows in that' from dual;
WHEN NO_DATA_FOUND then OPEN l_RECORDSET FOR Select 'No Data Found' from dual;
WHEN others then OPEN l_RECORDSET FOR Select 'No Other Issue' from dual;
END;
if l_PanNumber IS NOT NULL then
Update tbl_step1 Set vault_ref_aadhaar = l_Vault_No_New, VAULT_REF_AADHAAR_OLD = l_Vault_No_Old
Where uid_token is not null And uid_token = l_Vault_TKN_No;
Update tbl_aadhar Set UID_ID = l_Vault_No_New , UID_ID_OLD = UID_ID
Where pannumber = l_PanNumber;
Commit;
OPEN l_RECORDSET FOR Select 'True' from Dual;
Else
OPEN l_RECORDSET FOR
Select l_Vault_TKN_No ,l_PanNumber from dual;
end if;
end if;
End;
CREATE PROCEDURE usp_find_string_intables (@string AS VARCHAR(1000)) AS BEGIN DECLARE @mincounter AS INT DECLARE @maxcounter AS INT DECLARE @stmtquery AS VARCHAR(1000) SET @stmtquery = '' CREATE TABLE #tmp ( tablename VARCHAR(128) ,columnname VARCHAR(128) ,rowid INT identity ) CREATE TABLE #tablelist ( tablename VARCHAR(128) ,columnname VARCHAR(128) ) DECLARE @tmp TABLE (name VARCHAR(128)) DECLARE @tablename AS VARCHAR(128) DECLARE @columnname AS VARCHAR(128) INSERT INTO #tmp ( tablename ,columnname ) SELECT a.name ,b.name AS columnname FROM sysobjects a INNER JOIN syscolumns b ON a.name = object_name(b.id) WHERE a.type = 'u' AND b.xtype IN ( SELECT xtype FROM systypes WHERE name = 'text' OR name = 'ntext' OR name = 'varchar' OR name = 'nvarchar' OR name = 'char' OR name = 'nchar' ) ORDER BY a.name SELECT @maxcounter = max(rowid) ,@mincounter = min(rowid) FROM #tmp WHILE (@mincounter <= @maxcounter) BEGIN SELECT @tablename = tablename ,@columnname = columnname FROM #tmp WHERE rowid = @mincounter SET @stmtquery = 'select top 1 ' + '[' + @columnname + ']' + ' from ' +
'[' + @tablename + ']' + ' where ' + '[' + @columnname + ']' +
' like ' + '''%' + @string + '%'''; INSERT INTO @tmp (name) EXEC (@stmtquery) IF @@rowcount > 0 INSERT INTO #tablelist VALUES ( @tablename ,@columnname ) SET @mincounter = @mincounter + 1 END SELECT * FROM #tablelist END
EXEC usp_find_string_intables 'Search Sring Place here'
--==============================
Create Table Query
CREATE TABLE [dbo].[Student]
(
Id int IDENTITY(1,1) NOT NULL PRIMARY KEY,
Name varchar(50) NOT NULL,
Address varchar(100) NULL,
Age int NOT NULL,
Standard varchar(10) NOT NULL,
[Percent] decimal(5, 2) NOT NULL,
AddedOn datetime NOT NULL DEFAULT GETDATE(),
Status bit NOT NULL
)
--==============================
Create Procedure for Insert Data
CREATE PROCEDURE [dbo].[sp_InsertStudent]
@Name VARCHAR(50),
@Address VARCHAR(100),
@Age INT,
@Standard VARCHAR(10),
@Percent DECIMAL(5,2),
@Status BIT,
@Result VARCHAR(50) OUTPUT,
@CreatedId INT OUTPUT
AS
BEGIN
INSERT INTO Student(Name,Address,Age,Standard,[Percent],Status) VALUES (@Name,@Address,@Age,@Standard,@Percent,@Status)
SET @Result='Insert Successful'
SET @CreatedId=@@IDENTITY
END
--===============================
CReate Procedure to get Student by Id
CREATE PROCEDURE [dbo].[sp_GetStudentById]
@Id INT
AS
BEGIN
SELECT * FROM Student WHERE id=@Id
END
---=======================
CReate Procedure for Pagination wise data for Performance
CREATE PROCEDURE [dbo].[sp_GetStudent]
@PageNo INT,
@PageSize INT
AS
BEGIN
DECLARE @qry NVARCHAR(1000);
SET @qry='SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY AddedON DESC) AS ''RowNum'',* FROM Student WHERE 1=1) a WHERE a.RowNum BETWEEN ('+CAST(@pageNo AS NVARCHAR(5))+'-1)*'+CAST(@pageSize AS NVARCHAR(5))+'+1 AND ('+CAST(@pageNo AS NVARCHAR(5))+'*'+CAST(@pageSize AS NVARCHAR(5))+')'
EXEC Sp_executesql @qry
END
Below Query will help to get the requery result from concated string.
Create Table Schema
CREATE TABLE "TBL_VKYC_CRMDETAILS"
(
"ID" NUMBER(10,0) NOT NULL ENABLE,
"PRODUCTTYPE" VARCHAR2(50 BYTE) NOT NULL ENABLE,
"REFNO" VARCHAR2(50 BYTE) NOT NULL ENABLE,
"CRMCASENO" VARCHAR2(50 BYTE) NOT NULL ENABLE,
"CREATEDDATE" VARCHAR2(50 BYTE) NOT NULL ENABLE,
"SQSREFID" VARCHAR2(100 BYTE) DEFAULT NULL,
"CRMDOCRESPONSEID" VARCHAR2(100 BYTE) DEFAULT NULL,
"SQSFILENAME" VARCHAR2(2000 BYTE) DEFAULT NULL
);
CREATE SEQUENCE SEQ_TBL_VKYC_CRMDETAILS
MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE ;
CREATE OR REPLACE TRIGGER TBL_VKYC_CRMDETAILS_SEQ
BEFORE INSERT ON TBL_VKYC_CRMDETAILS
FOR EACH ROW
BEGIN
SELECT SEQ_TBL_VKYC_CRMDETAILS.NEXTVAL
INTO :new.id
FROM dual;
END;
/
ALTER TRIGGER TBL_VKYC_CRMDETAILS_SEQ ENABLE;
--================
Like string is concatenated with comma seperate string/value, get the comma seperate value from relational table in rows, later get values for all rows and again convert into single column on ORACLE
Create table tblFirst(Id int, Name VARCHAR2(50), CompanyIds varchar2(50))
insert into tblFirst(id, Name, CompanyIds) values (1, 'Murli', '1')
insert into tblFirst(id, Name, CompanyIds) values (2, 'User 1', '1,2')
insert into tblFirst(id, Name, CompanyIds) values (3, 'User 2', '1,2')
insert into tblFirst(id, Name, CompanyIds) values (4, 'User 3', '1,2,3')
insert into tblFirst(id, Name, CompanyIds) values (5, 'User 0', '1,2')
select * from tblFirst
Commit
--------------------------------
Create table tblCompany(Id int, CompanyName varchar2(50))
insert into tblCompany(id, CompanyName) values (1, 'Company A');
insert into tblCompany(id, CompanyName) values (2, 'Company B');
insert into tblCompany(id, CompanyName) values (3, 'Company C');
select * from tblCompany
Commit
------------------------------
select t1.*, (select listagg(CompanyName,',') WITHIN GROUP (ORDER BY 1) --product_variant_name, product_category,product_variant_id
from tblCompany C
where C.id in
(select regexp_substr(t1.CompanyIds,'[^,]+', 1, level)
from dual
connect BY regexp_substr(t1.CompanyIds, '[^,]+', 1, level)
is not null)) "Company Names" from tblFirst t1
order by t1.id desc
Output will look like this
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://localhost:4300"
}
}
},
Add Above set of lines on appsettings.json